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 | BOS 5 - 4 BAL | BOS | 0.530 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | BOS 5 - 4 BAL | BOS | - | 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.5101; empirical=0.5332; weight=0.5000; final=0.5216 |
| P1 | H2H margin as base feature | available | home net=-1; abs=1; home delta=-0.0058; away delta=0.0058 |
| 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.7571; recent edge=0.6800; 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.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | 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.417 | 4.147 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 4 | 0.5300 | 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 | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6603651193166743,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.23056048505951848,
"confidence": 0.8682154480000001,
"factors": {
"environmental": 1.01745,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.5364308960000002
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 377,
"near_bucket_sample_size": 377,
"medium_bucket_sample_size": 512,
"wide_bucket_sample_size": 577,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5332,
"bayesian_hit_rate": 0.5316,
"prior_strength": 18.0,
"raw_pick_probability": 0.5085,
"raw_pick_probability_unclamped": 0.5085,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4915,
"margin_implied_pick_probability": 0.5085,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5085,
"score_implied_floor_pick_probability": 0.5082,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.4915,
"uncapped_away_win_probability": 0.5085,
"calibrated_pick_probability": 0.5082,
"predicted_side": "away",
"reliability": 0.95443,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.97038
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.5101,
"sample_size": 377,
"empirical_hit_rate": 0.5332,
"empirical_weight": 0.5,
"blended_confidence": 0.52165,
"published_confidence": 0.53,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -1.0,
"absolute_net_margin": 1.0,
"home_average_margin": -0.2,
"home_run_delta": -0.0058,
"away_run_delta": 0.0058,
"evidence": [
{
"game_id": null,
"home_margin": 4.0
},
{
"game_id": null,
"home_margin": -3.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 6.0
},
{
"game_id": null,
"home_margin": -7.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 635,
"runs_allowed": 655,
"run_differential": -20,
"run_differential_per_game": -0.14285714285714285,
"available": true
},
"away": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357142857142857,
"runs_scored": 627,
"runs_allowed": 550,
"run_differential": 77,
"run_differential_per_game": 0.55,
"available": true
},
"run_differential_edge_per_game": -0.6929,
"win_pct_edge": -0.0429,
"quality_edge": -0.2541,
"season_quality_edge": -0.7571,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.7571,
"recent_quality_edge": 0.68,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.2541
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.02714234027747738
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.02583438647155788
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.025469233119157882
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.024772560491870273
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.024323286044803112
}
],
"home_distribution": {
"0": 0.05238170882705646,
"1": 0.08868524045314105,
"2": 0.12807042515676886,
"3": 0.15775101864735297,
"4": 0.16573770125948473,
"5": 0.14852387358387512,
"6": 0.11352644575648756,
"7": 0.07401566287647009,
"8": 0.041160064086544906,
"9": 0.01952334681676674,
"10": 0.00789874900842958,
"11": 0.002725763527621829
},
"away_distribution": {
"0": 0.05010180784258782,
"1": 0.08499791372421883,
"2": 0.12349669055516775,
"3": 0.15367193418039726,
"4": 0.1637668440627301,
"5": 0.1494684691751908,
"6": 0.11683295943832683,
"7": 0.07821199309897493,
"8": 0.04484081662751839,
"9": 0.022017391132197063,
"10": 0.009258707973879987,
"11": 0.003334472188810219
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
],
"signals": {
"predicted_team": "BOS",
"opponent_team": "BAL",
"h2h_net_margin": 0,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-22",
"predicted_team_runs": 1,
"opponent_runs": 5,
"margin_for_predicted_team": -4,
"winner": "BAL"
},
{
"date": "2026-07-22",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "BOS"
},
{
"date": "2026-07-20",
"predicted_team_runs": 6,
"opponent_runs": 5,
"margin_for_predicted_team": 1,
"winner": "BOS"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260722",
"away": "BAL",
"home": "BOS",
"game_number": 2,
"predicted_team": "BOS",
"actual_winner": "BAL",
"actual_margin": 4,
"raw_pick_probability": 0.64,
"artifact": "20260722_BAL@BOS_2.json",
"verification": "pregame_official_final"
},
{
"date": "20260720",
"away": "BAL",
"home": "BOS",
"game_number": 1,
"predicted_team": "BOS",
"actual_winner": "BOS",
"actual_margin": 1,
"raw_pick_probability": 0.64,
"artifact": "20260720_BAL@BOS.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "BOS",
"guardrail_opponent_team": "BAL",
"output_pre_simulation_winner": "BOS",
"output_opponent_team": "BAL",
"simulation_score_winner": "BOS",
"final_score_winner": "BOS",
"pre_simulation_winner": "BOS",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"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.0592,
"recent_form_edge_home_minus_away": 0.61,
"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": 4,
"winner": "BOS",
"model_winner": "BOS",
"simulation_winner": "BOS",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "BOS",
"published_winner_draw_share": 1.0,
"draw_majority_team": "BOS",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.2541,
"winner": "BOS",
"score_reviewed": {
"away_runs": 5,
"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": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 635,
"runs_allowed": 655,
"run_differential": -20,
"run_differential_per_game": -0.14285714285714285,
"available": true
},
"away": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357142857142857,
"runs_scored": 627,
"runs_allowed": 550,
"run_differential": 77,
"run_differential_per_game": 0.55,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.2541,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.52165,
"final_confidence": 0.5082,
"calibrated_pick_probability": 0.5082,
"shrinkage_weight": 0.97038,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 377,
"calibration_empirical_hit_rate": 0.5332,
"calibration_bayesian_hit_rate": 0.5316,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2541,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 4
},
"margin": -1,
"probability_before": 0.491752,
"margin_implied_home_probability": 0.415,
"shrinkage_weight": 0.97038,
"side_flipped": false,
"applied": true,
"probability_after": 0.453376,
"aligned_pick_probability": 0.546624
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"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.0592,
"recent_form_edge_home_minus_away": 0.61,
"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": 4,
"winner": "BOS",
"model_winner": "BOS",
"simulation_winner": "BOS",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "BOS",
"published_winner_draw_share": 1.0,
"draw_majority_team": "BOS",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.2541,
"winner": "BOS",
"score_reviewed": {
"away_runs": 5,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.53,
"home_win_probability": 0.47,
"away_win_probability": 0.53,
"predicted_score_text": "BOS 5 - 4 BAL",
"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": "BOS",
"original_runs": 5,
"run_delta": 0.2131,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.06689935857886199,
"contact": 0.14902632625935633,
"power": -0.03446621322516774,
"discipline": 0.3845537082280594,
"xwoba": 0.32451428571428576,
"recent_xwoba": 0.32451428571428576,
"barrel": 7.2628571428571425,
"ab_hard_contact": -0.14296780191832262,
"ab_bat_speed": 69.95193525467063,
"ab_strikeout_rate": 0.1923638654680858,
"available_players": 9,
"top_players": [
{
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"weight": 4.0,
"quality": -0.7323423558076583,
"contact": -0.668761994638898,
"power": -1.1750956513025823,
"discipline": 0.5192856446672237,
"xwoba": 0.287,
"recent_xwoba": 0.287,
"barrel": 2.6,
"ab_hard_contact": -0.8603892165278426,
"ab_bat_speed": 66.8950533625731,
"ab_strikeout_rate": 0.1428849902534113,
"available": 1.0
},
{
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"weight": 4.0,
"quality": 0.6749325921825213,
"contact": 0.6043278392723426,
"power": 0.9624308403840514,
"discipline": 0.3027723009313919,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 12.4,
"ab_hard_contact": 0.5400453791096025,
"ab_bat_speed": 72.95141699462154,
"ab_strikeout_rate": 0.18918404827495738,
"available": 1.0
},
{
"player_id": "701350",
"player_name": "Roman Anthony",
"position": "DH",
"weight": 4.0,
"quality": 0.576314095575737,
"contact": 1.2157987349489603,
"power": 0.8953412072369743,
"discipline": 0.5669642857142858,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 9.9,
"ab_hard_contact": 1.4355860495013846,
"ab_bat_speed": 74.06777777777778,
"ab_strikeout_rate": 0.2477777777777778,
"available": 1.0
},
{
"player_id": "642201",
"player_name": "Eli White",
"position": "CF",
"weight": 3.0,
"quality": -0.5413994460828818,
"contact": -0.9162386958498092,
"power": -0.676160816331967,
"discipline": -0.38248374295954946,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 6.3,
"ab_hard_contact": -0.825311564734602,
"ab_bat_speed": 70.83520071684588,
"ab_strikeout_rate": 0.2032258064516129,
"available": 1.0
},
{
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"position": "SS",
"weight": 3.0,
"quality": -0.24202489786818213,
"contact": -0.2001396019558011,
"power": -1.0176144250816102,
"discipline": 0.606170634920635,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 2.9,
"ab_hard_contact": -0.40847897782267334,
"ab_bat_speed": 66.41672222222222,
"ab_strikeout_rate": 0.1325,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687064",
"player_name": "Brandon Young",
"quality": -0.2047923978571125,
"contact": -0.0380150208373097,
"command": -0.44197216117216115,
"movement": -0.48586114191808033,
"xwoba": 0.321,
"whiff": 22.8,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "BAL",
"original_runs": 4,
"run_delta": 0.0755,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.24159068570460385,
"contact": 0.23386273995203274,
"power": 0.5309445718254622,
"discipline": -0.23427157751698574,
"xwoba": 0.32433333333333336,
"recent_xwoba": 0.32433333333333336,
"barrel": 9.416666666666666,
"ab_hard_contact": 0.12857397619178,
"ab_bat_speed": 72.0706586735204,
"ab_strikeout_rate": 0.27993745053285873,
"available_players": 9,
"top_players": [
{
"player_id": "624413",
"player_name": "Pete Alonso",
"position": "1B",
"weight": 4.0,
"quality": 1.4532016465664421,
"contact": 1.6015949621100691,
"power": 1.828000249862283,
"discipline": 0.16500074203122983,
"xwoba": 0.392,
"recent_xwoba": 0.392,
"barrel": 13.6,
"ab_hard_contact": 1.155433568674223,
"ab_bat_speed": 73.22603132662279,
"ab_strikeout_rate": 0.24881275003226222,
"available": 1.0
},
{
"player_id": "677942",
"player_name": "Blaze Alexander",
"position": "2B",
"weight": 3.0,
"quality": 0.7522152670131388,
"contact": 1.218341388296096,
"power": 0.6699854014822325,
"discipline": -0.29880555555555566,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 6.6,
"ab_hard_contact": 0.24961279154941546,
"ab_bat_speed": 70.82442914653784,
"ab_strikeout_rate": 0.23333333333333336,
"available": 1.0
},
{
"player_id": "687952",
"player_name": "Christian Encarnacion-Strand",
"position": "3B",
"weight": 3.0,
"quality": 0.3145980151324485,
"contact": 0.5121342111394366,
"power": 1.6033678831170646,
"discipline": -0.6295912698412699,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 17.2,
"ab_hard_contact": 0.10164337662700876,
"ab_bat_speed": 72.03301857142857,
"ab_strikeout_rate": 0.2713333333333333,
"available": 1.0
},
{
"player_id": "665750",
"player_name": "Leody Taveras",
"position": "RF",
"weight": 3.0,
"quality": -0.6082364753462601,
"contact": -0.7232297775510392,
"power": -0.6697514632411111,
"discipline": -0.06626755189255197,
"xwoba": 0.277,
"recent_xwoba": 0.277,
"barrel": 4.2,
"ab_hard_contact": -0.7816959314888888,
"ab_bat_speed": 69.0877938034188,
"ab_strikeout_rate": 0.2685096153846154,
"available": 1.0
},
{
"player_id": "665966",
"player_name": "Carlos Narváez",
"position": "C",
"weight": 3.0,
"quality": -0.5610299956655914,
"contact": -0.8981326953231471,
"power": -0.31941445754262626,
"discipline": -0.905329365079365,
"xwoba": 0.265,
"recent_xwoba": 0.265,
"barrel": 6.8,
"ab_hard_contact": -0.317051055614453,
"ab_bat_speed": 69.62293452380952,
"ab_strikeout_rate": 0.3457142857142857,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687562",
"player_name": "Jake Bennett",
"quality": 0.3589496534984355,
"contact": 0.8437758083821343,
"command": -0.1498293040293039,
"movement": -0.13264567980687408,
"xwoba": 0.277,
"whiff": 24.6,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.2541,
"recent_form_edge_home_minus_away": 0.61,
"pitcher_matchup_edge_home_minus_away": -0.0592,
"composite_home_edge": -0.2975,
"existing_home_win_probability": 0.4534,
"refreshed_home_win_probability": 0.3555,
"winner_support_before_review": 0.2975
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.453376,
"uncapped_away_win_probability": 0.546624,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.546624,
"discount_factor": 0.7225,
"published_confidence": 0.53,
"guardrail_confidence_cap": 0.53,
"guardrail_cap_enforced": true,
"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": 5,
"home_runs": 4,
"predicted_score_text": "BOS 5 - 4 BAL",
"confidence": 0.53,
"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": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "BOS 5 - 4 BAL",
"winner": "BOS"
},
"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.0592,
"recent_form_edge_home_minus_away": 0.61,
"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": 4,
"winner": "BOS",
"model_winner": "BOS",
"simulation_winner": "BOS",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "BOS",
"published_winner_draw_share": 1.0,
"draw_majority_team": "BOS",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.2541,
"winner": "BOS",
"score_reviewed": {
"away_runs": 5,
"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": "BOS",
"display_confidence": 0.53,
"internal_signal_score": 0.6024,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.2541,
"winner_recent_form_edge": -0.68,
"winner_pitcher_matchup_edge": 0.0592,
"winner_simulation_draw_rate": 1.0,
"blowout_draw_rate_margin_4_plus": 0.3333,
"high_total_draw_rate_11_plus": 0.3333,
"low_total_draw_rate_6_or_less": 0.6667,
"total_runs_spread": {
"min": 3,
"median": 5,
"max": 11,
"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 BOS | True | 1.0170 | 1.0170 | 1 | 9 | 0 |
| Home BAL | True | 1.0339 | 1.0339 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Roman Anthony | 188 | 1.0572 | 0.7632 | neutral | 0.3670 | 0.2850 | 0.4420 | 9.90 | 50 | 92.70 | 7.90 | 26.20 | 23.50 | 14.10 | 0.5714 |
| 1B | Mickey Gasper | 184 | 1.0419 | 0.5588 | neutral | 0.3690 | 0.2730 | 0.4690 | 9.80 | 37.70 | 88.80 | 15.70 | 16.30 | 14.70 | 11.80 | -0.4286 |
| C | Adley Rutschman | 137 | 1.0528 | 0.7041 | neutral | 0.3380 | 0.2620 | 0.4190 | 6.80 | 40.80 | 88.70 | 13.80 | 16.70 | 16 | 10.50 | 0.6286 |
| LF | Jarren Duran | 333 | 1.0195 | 0.2596 | neutral | 0.3000 | 0.2370 | 0.3910 | 9.60 | 40.40 | 90 | 12.90 | 33.30 | 27.30 | 6.40 | 0.8000 |
| CF | Eli White | 166 | 0.9641 | -0.4793 | neutral | 0.2680 | 0.2230 | 0.3280 | 6.30 | 30.50 | 85.90 | 8.20 | 27 | 22.20 | 6.10 | -0.8286 |
| SS | Isiah Kiner-Falefa | 178 | 0.9931 | -0.0914 | neutral | 0.3090 | 0.2750 | 0.3480 | 2.90 | 26 | 82.10 | 10.30 | 17.40 | 13.40 | 9 | -0.1143 |
| 2B | Nick Sogard | 195 | 0.9993 | -0.0100 | neutral | 0.3190 | 0.2530 | 0.3570 | 4.60 | 29 | 86.50 | 14.20 | 20.20 | 18.80 | 13 | -0.6286 |
| 3B | Caleb Durbin | 41 | 0.9511 | -0.6525 | neutral | 0.2870 | 0.2360 | 0.3180 | 2.60 | 25.30 | 83.50 | 12.40 | 16.20 | 13.60 | 8.10 | -0.8286 |
| RF | Wilyer Abreu | 6 | 1.0740 | 0.9866 | neutral | 0.3500 | 0.2550 | 0.4750 | 12.40 | 44 | 89.80 | 18.70 | 24.60 | 20.20 | 10.40 | 0.0571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Blaze Alexander | 154 | 1.0852 | 1.1360 | neutral | 0.3580 | 0.3070 | 0.4630 | 6.60 | 48.40 | 92.10 | 8.90 | 25.60 | 21.10 | 6.40 | 0.2857 |
| DH | Coby Mayo | 267 | 1.0484 | 0.6456 | neutral | 0.3200 | 0.2280 | 0.4470 | 12.70 | 48.60 | 91.70 | 20 | 31 | 32 | 7 | 0.1143 |
| CF | Luis Robert Jr. | 221 | 1.0201 | 0.2676 | neutral | 0.3170 | 0.2350 | 0.4110 | 8.90 | 39.70 | 89.50 | 15.40 | 28.50 | 24.20 | 10.30 | 0.2571 |
| RF | Leody Taveras | 302 | 0.9594 | -0.5414 | neutral | 0.2770 | 0.2140 | 0.3240 | 4.20 | 33.30 | 88.30 | 16.10 | 25 | 25.10 | 9.20 | -0.3714 |
| SS | Gunnar Henderson | 88 | 1.0278 | 0.3707 | neutral | 0.3180 | 0.2440 | 0.3970 | 7.10 | 43.80 | 89.60 | 11.90 | 23.40 | 21.50 | 9.30 | 0.2571 |
| 1B | Pete Alonso | 36 | 1.1369 | 1.8254 | neutral | 0.3920 | 0.2840 | 0.5420 | 13.60 | 56.90 | 94.20 | 14.60 | 27.60 | 24.10 | 11.40 | 0.6286 |
| 3B | Christian Encarnacion-Strand | 242 | 1.0406 | 0.5417 | neutral | 0.3460 | 0.2580 | 0.5250 | 17.20 | 40.90 | 92.30 | 17.50 | 25.50 | 26.30 | 5.10 | 0.3429 |
| LF | Dylan Beavers | 372 | 1.0093 | 0.1240 | neutral | 0.3080 | 0.2340 | 0.3830 | 7.20 | 39 | 88.30 | 18.80 | 23.90 | 24.80 | 9.90 | -0.2571 |
| C | Carlos Narváez | 634 | 0.9771 | -0.3053 | positive_batter_regression | 0.2650 | 0.1940 | 0.3100 | 6.80 | 38.80 | 90.90 | 17.50 | 33.20 | 33.10 | 7 | 1.1143 |
{
"home": {
"applied": true,
"offense_factor": 1.0339,
"raw_average_factor": 1.0339,
"team_espn_average_rank": 257.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "677942",
"player_name": "Blaze Alexander",
"offense_factor": 1.0852,
"quality_score": 1.136,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677942",
"espn_id": 41345,
"player_name": "Blaze Alexander",
"team": "BAL",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 154,
"gp_value": 87.0,
"gp_rank": "252",
"ab_value": 239.0,
"ab_rank": "269",
"r_value": 33.0,
"r_rank": "243",
"h_value": 74.0,
"h_rank": "201",
"avg_value": 0.3096234,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 30.0,
"rbi_rank": "260",
"tb_value": 102.0,
"tb_rank": "1549",
"bb_value": 17.0,
"bb_rank": "311",
"so_value": 56.0,
"so_rank": "272",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.3639846,
"obp_rank": "-",
"slg_value": 0.4267782,
"slg_rank": "-",
"ops_value": 0.7907628,
"ops_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 21.1,
"bb_percent": 6.4,
"woba": 0.348,
"xwoba": 0.358,
"xba": 0.307,
"xslg": 0.463,
"sweet_spot_percent": 40.9,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 8.9,
"whiff_percent": 25.6,
"swing_percent": 56.6
},
"components": {
"expected_quality": 1.2745,
"regression_edge": 0.2857,
"xwoba_edge": 1.6286,
"xba_edge": 2.0286,
"xslg_edge": 1.3714,
"barrel_edge": -0.0111,
"hard_hit_edge": 1.5286,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 1.275,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "691723",
"player_name": "Coby Mayo",
"offense_factor": 1.0484,
"quality_score": 0.6456,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691723",
"espn_id": 4683371,
"player_name": "Coby Mayo",
"team": "BAL",
"role": "batter",
"espn_rank": 267,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 267,
"gp_value": 111.0,
"gp_rank": "158",
"ab_value": 337.0,
"ab_rank": "185",
"r_value": 53.0,
"r_rank": "132",
"h_value": 74.0,
"h_rank": "201",
"avg_value": 0.2195845,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": "214",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 19.0,
"hr_rank": "70",
"rbi_value": 55.0,
"rbi_rank": "107",
"tb_value": 150.0,
"tb_rank": "691",
"bb_value": 26.0,
"bb_rank": "217",
"so_value": 118.0,
"so_rank": "64",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.2845528,
"obp_rank": "-",
"slg_value": 0.4451038,
"slg_rank": "-",
"ops_value": 0.7296566,
"ops_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 331.0,
"k_percent": 32.0,
"bb_percent": 7.0,
"woba": 0.316,
"xwoba": 0.32,
"xba": 0.228,
"xslg": 0.447,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 12.7,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 20.0,
"whiff_percent": 31.0,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.7321,
"regression_edge": 0.1143,
"xwoba_edge": 0.5429,
"xba_edge": -0.2286,
"xslg_edge": 1.1429,
"barrel_edge": 1.3444,
"hard_hit_edge": 1.5571,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.1417,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "673357",
"player_name": "Luis Robert Jr.",
"offense_factor": 1.0201,
"quality_score": 0.2676,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673357",
"espn_id": 39631,
"player_name": "Luis Robert Jr.",
"team": "BAL",
"role": "batter",
"espn_rank": 221,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 221,
"gp_value": 59.0,
"gp_rank": "356",
"ab_value": 198.0,
"ab_rank": "310",
"r_value": 25.0,
"r_rank": "299",
"h_value": 44.0,
"h_rank": "316",
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": "373",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 25.0,
"rbi_rank": "290",
"tb_value": 79.0,
"tb_rank": "1775",
"bb_value": 23.0,
"bb_rank": "244",
"so_value": 54.0,
"so_rank": "275",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3004484,
"obp_rank": "-",
"slg_value": 0.3989898,
"slg_rank": "-",
"ops_value": 0.6994382,
"ops_rank": null,
"war_value": 0.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 181.0,
"k_percent": 24.2,
"bb_percent": 10.3,
"woba": 0.308,
"xwoba": 0.317,
"xba": 0.235,
"xslg": 0.411,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 15.4,
"whiff_percent": 28.5,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.3363,
"regression_edge": 0.2571,
"xwoba_edge": 0.4571,
"xba_edge": -0.0286,
"xslg_edge": 0.6286,
"barrel_edge": 0.5,
"hard_hit_edge": 0.2857,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -1.2083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "665750",
"player_name": "Leody Taveras",
"offense_factor": 0.9594,
"quality_score": -0.5414,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665750",
"espn_id": 34951,
"player_name": "Leody Taveras",
"team": "BAL",
"role": "batter",
"espn_rank": 302,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 302,
"gp_value": 123.0,
"gp_rank": "115",
"ab_value": 384.0,
"ab_rank": "139",
"r_value": 54.0,
"r_rank": "124",
"h_value": 85.0,
"h_rank": "170",
"avg_value": 0.2213541,
"avg_rank": 127.0,
"2b_value": 15.0,
"2b_rank": "189",
"3b_value": 6.0,
"3b_rank": "6",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 52.0,
"rbi_rank": "120",
"tb_value": 136.0,
"tb_rank": "1025",
"bb_value": 40.0,
"bb_rank": "124",
"so_value": 109.0,
"so_rank": "85",
"sb_value": 11.0,
"sb_rank": "73",
"obp_value": 0.2957746,
"obp_rank": "128",
"slg_value": 0.3541666,
"slg_rank": "135",
"ops_value": 0.6499412,
"ops_rank": 136.0,
"war_value": 0.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 376.0,
"k_percent": 25.1,
"bb_percent": 9.2,
"woba": 0.29,
"xwoba": 0.277,
"xba": 0.214,
"xslg": 0.324,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 16.1,
"whiff_percent": 25.0,
"swing_percent": 47.9
},
"components": {
"expected_quality": -0.5691,
"regression_edge": -0.3714,
"xwoba_edge": -0.6857,
"xba_edge": -0.6286,
"xslg_edge": -0.6143,
"barrel_edge": -0.5444,
"hard_hit_edge": -0.6286,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.8083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "683002",
"player_name": "Gunnar Henderson",
"offense_factor": 1.0278,
"quality_score": 0.3707,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683002",
"espn_id": 42507,
"player_name": "Gunnar Henderson",
"team": "BAL",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 88,
"gp_value": 139.0,
"gp_rank": "10",
"ab_value": 554.0,
"ab_rank": "2",
"r_value": 82.0,
"r_rank": "24",
"h_value": 122.0,
"h_rank": "74",
"avg_value": 0.2202166,
"avg_rank": 130.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 5.0,
"3b_rank": "13",
"hr_value": 22.0,
"hr_rank": "41",
"rbi_value": 57.0,
"rbi_rank": "99",
"tb_value": 222.0,
"tb_rank": "278",
"bb_value": 58.0,
"bb_rank": "45",
"so_value": 134.0,
"so_rank": "38",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3033707,
"obp_rank": "119",
"slg_value": 0.400722,
"slg_rank": "96",
"ops_value": 0.7040927,
"ops_rank": 110.0,
"war_value": 2.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 561.0,
"k_percent": 21.5,
"bb_percent": 9.3,
"woba": 0.309,
"xwoba": 0.318,
"xba": 0.244,
"xslg": 0.397,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 11.9,
"whiff_percent": 23.4,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.3892,
"regression_edge": 0.2571,
"xwoba_edge": 0.4857,
"xba_edge": 0.2286,
"xslg_edge": 0.4286,
"barrel_edge": 0.1,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.325,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "624413",
"player_name": "Pete Alonso",
"offense_factor": 1.1369,
"quality_score": 1.8254,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624413",
"espn_id": 37498,
"player_name": "Pete Alonso",
"team": "BAL",
"role": "batter",
"espn_rank": 36,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 36,
"gp_value": 140.0,
"gp_rank": "1",
"ab_value": 525.0,
"ab_rank": "23",
"r_value": 85.0,
"r_rank": "15",
"h_value": 141.0,
"h_rank": "20",
"avg_value": 0.2685714,
"avg_rank": 47.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 32.0,
"hr_rank": "8",
"rbi_value": 92.0,
"rbi_rank": "6",
"tb_value": 261.0,
"tb_rank": "675",
"bb_value": 69.0,
"bb_rank": "20",
"so_value": 146.0,
"so_rank": "21",
"sb_value": 5.0,
"sb_rank": "172",
"obp_value": 0.3607907,
"obp_rank": "26",
"slg_value": 0.4971428,
"slg_rank": "17",
"ops_value": 0.8579335,
"ops_rank": 14.0,
"war_value": 3.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 541.0,
"k_percent": 24.1,
"bb_percent": 11.4,
"woba": 0.37,
"xwoba": 0.392,
"xba": 0.284,
"xslg": 0.542,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 56.9,
"exit_velocity_avg": 94.2,
"launch_angle_avg": 14.6,
"whiff_percent": 27.6,
"swing_percent": 45.2
},
"components": {
"expected_quality": 2.0202,
"regression_edge": 0.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.3714,
"xslg_edge": 2.5,
"barrel_edge": 1.5444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.28,
"sweet_spot_edge": 0.425,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "687952",
"player_name": "Christian Encarnacion-Strand",
"offense_factor": 1.0406,
"quality_score": 0.5417,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687952",
"espn_id": 5012106,
"player_name": "Christian Encarnacion-Strand",
"team": "BAL",
"role": "batter",
"espn_rank": 242,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 242,
"gp_value": 38.0,
"gp_rank": "424",
"ab_value": 127.0,
"ab_rank": "393",
"r_value": 13.0,
"r_rank": "408",
"h_value": 33.0,
"h_rank": "373",
"avg_value": 0.2598425,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 28.0,
"rbi_rank": "269",
"tb_value": 61.0,
"tb_rank": "1999",
"bb_value": 7.0,
"bb_rank": "431",
"so_value": 36.0,
"so_rank": "368",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3014705,
"obp_rank": "-",
"slg_value": 0.4803149,
"slg_rank": "-",
"ops_value": 0.7817854,
"ops_rank": null,
"war_value": 0.76,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 26.3,
"bb_percent": 5.1,
"woba": 0.334,
"xwoba": 0.346,
"xba": 0.258,
"xslg": 0.525,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 17.2,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 17.5,
"whiff_percent": 25.5,
"swing_percent": 60.6
},
"components": {
"expected_quality": 1.3438,
"regression_edge": 0.3429,
"xwoba_edge": 1.2857,
"xba_edge": 0.6286,
"xslg_edge": 2.2571,
"barrel_edge": 2.3444,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.725,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "687637",
"player_name": "Dylan Beavers",
"offense_factor": 1.0093,
"quality_score": 0.124,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687637",
"espn_id": 4959037,
"player_name": "Dylan Beavers",
"team": "BAL",
"role": "batter",
"espn_rank": 372,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 372,
"gp_value": 85.0,
"gp_rank": "262",
"ab_value": 250.0,
"ab_rank": "259",
"r_value": 32.0,
"r_rank": "250",
"h_value": 62.0,
"h_rank": "249",
"avg_value": 0.248,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": "152",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 32.0,
"rbi_rank": "247",
"tb_value": 97.0,
"tb_rank": "1793",
"bb_value": 28.0,
"bb_rank": "204",
"so_value": 70.0,
"so_rank": "215",
"sb_value": 5.0,
"sb_rank": "172",
"obp_value": 0.3274021,
"obp_rank": "-",
"slg_value": 0.388,
"slg_rank": "-",
"ops_value": 0.7154021,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 24.8,
"bb_percent": 9.9,
"woba": 0.317,
"xwoba": 0.308,
"xba": 0.234,
"xslg": 0.383,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 18.8,
"whiff_percent": 23.9,
"swing_percent": 41.9
},
"components": {
"expected_quality": 0.186,
"regression_edge": -0.2571,
"xwoba_edge": 0.2,
"xba_edge": -0.0571,
"xslg_edge": 0.2286,
"barrel_edge": 0.1222,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.9583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665966",
"player_name": "Carlos Narváez",
"offense_factor": 0.9771,
"quality_score": -0.3053,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665966",
"espn_id": 5012120,
"player_name": "Carlos Narvaez",
"team": "BAL",
"role": "batter",
"espn_rank": 634,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 634,
"gp_value": 83.0,
"gp_rank": "269",
"ab_value": 223.0,
"ab_rank": "287",
"r_value": 20.0,
"r_rank": "343",
"h_value": 37.0,
"h_rank": "348",
"avg_value": 0.1659192,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 10.0,
"rbi_rank": "425",
"tb_value": 53.0,
"tb_rank": "2337",
"bb_value": 18.0,
"bb_rank": "300",
"so_value": 85.0,
"so_rank": "153",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2470119,
"obp_rank": "-",
"slg_value": 0.2376681,
"slg_rank": "-",
"ops_value": 0.48468,
"ops_rank": null,
"war_value": -0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 33.1,
"bb_percent": 7.0,
"woba": 0.226,
"xwoba": 0.265,
"xba": 0.194,
"xslg": 0.31,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 17.5,
"whiff_percent": 33.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.5364,
"regression_edge": 1.1143,
"xwoba_edge": -1.0286,
"xba_edge": -1.2,
"xslg_edge": -0.8143,
"barrel_edge": 0.0333,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.8083,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.017,
"raw_average_factor": 1.017,
"team_espn_average_rank": 158.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "701350",
"player_name": "Roman Anthony",
"offense_factor": 1.0572,
"quality_score": 0.7632,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701350",
"espn_id": 5080767,
"player_name": "Roman Anthony",
"team": "BOS",
"role": "batter",
"espn_rank": 188,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 188,
"gp_value": 34.0,
"gp_rank": "442",
"ab_value": 127.0,
"ab_rank": "393",
"r_value": 16.0,
"r_rank": "379",
"h_value": 34.0,
"h_rank": "370",
"avg_value": 0.2677165,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 6.0,
"rbi_rank": "483",
"tb_value": 51.0,
"tb_rank": "2073",
"bb_value": 21.0,
"bb_rank": "266",
"so_value": 35.0,
"so_rank": "375",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3758389,
"obp_rank": "-",
"slg_value": 0.4015748,
"slg_rank": "-",
"ops_value": 0.7774137,
"ops_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 23.5,
"bb_percent": 14.1,
"woba": 0.347,
"xwoba": 0.367,
"xba": 0.285,
"xslg": 0.442,
"sweet_spot_percent": 42.4,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 7.9,
"whiff_percent": 26.2,
"swing_percent": 38.3
},
"components": {
"expected_quality": 1.4323,
"regression_edge": 0.5714,
"xwoba_edge": 1.8857,
"xba_edge": 1.4,
"xslg_edge": 1.0714,
"barrel_edge": 0.7222,
"hard_hit_edge": 1.7571,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": 1.525,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "681508",
"player_name": "Mickey Gasper",
"offense_factor": 1.0419,
"quality_score": 0.5588,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681508",
"espn_id": 5132012,
"player_name": "Mickey Gasper",
"team": "BOS",
"role": "batter",
"espn_rank": 184,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 184,
"gp_value": 48.0,
"gp_rank": "390",
"ab_value": 145.0,
"ab_rank": "370",
"r_value": 21.0,
"r_rank": "335",
"h_value": 41.0,
"h_rank": "327",
"avg_value": 0.2827586,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 21.0,
"rbi_rank": "329",
"tb_value": 73.0,
"tb_rank": "1604",
"bb_value": 20.0,
"bb_rank": "278",
"so_value": 25.0,
"so_rank": "435",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3786982,
"obp_rank": "-",
"slg_value": 0.5034482,
"slg_rank": "-",
"ops_value": 0.8821464,
"ops_rank": null,
"war_value": 1.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 129.0,
"k_percent": 14.7,
"bb_percent": 11.8,
"woba": 0.384,
"xwoba": 0.369,
"xba": 0.273,
"xslg": 0.469,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 15.7,
"whiff_percent": 16.3,
"swing_percent": 39.9
},
"components": {
"expected_quality": 1.1779,
"regression_edge": -0.4286,
"xwoba_edge": 1.9429,
"xba_edge": 1.0571,
"xslg_edge": 1.4571,
"barrel_edge": 0.7,
"hard_hit_edge": 0.0,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.2083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "668939",
"player_name": "Adley Rutschman",
"offense_factor": 1.0528,
"quality_score": 0.7041,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668939",
"espn_id": 42178,
"player_name": "Adley Rutschman",
"team": "BOS",
"role": "batter",
"espn_rank": 137,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 137,
"gp_value": 82.0,
"gp_rank": "272",
"ab_value": 300.0,
"ab_rank": "214",
"r_value": 35.0,
"r_rank": "228",
"h_value": 71.0,
"h_rank": "215",
"avg_value": 0.2366666,
"avg_rank": null,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 51.0,
"rbi_rank": "127",
"tb_value": 120.0,
"tb_rank": "1189",
"bb_value": 36.0,
"bb_rank": "157",
"so_value": 55.0,
"so_rank": "273",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3177842,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.7177842,
"ops_rank": null,
"war_value": 1.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 310.0,
"k_percent": 16.0,
"bb_percent": 10.5,
"woba": 0.316,
"xwoba": 0.338,
"xba": 0.262,
"xslg": 0.419,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 13.8,
"whiff_percent": 16.7,
"swing_percent": 40.2
},
"components": {
"expected_quality": 0.7164,
"regression_edge": 0.6286,
"xwoba_edge": 1.0571,
"xba_edge": 0.7429,
"xslg_edge": 0.7429,
"barrel_edge": 0.0333,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 1.0583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "680776",
"player_name": "Jarren Duran",
"offense_factor": 1.0195,
"quality_score": 0.2596,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680776",
"espn_id": 41610,
"player_name": "Jarren Duran",
"team": "BOS",
"role": "batter",
"espn_rank": 333,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 333,
"gp_value": 131.0,
"gp_rank": "69",
"ab_value": 496.0,
"ab_rank": "51",
"r_value": 61.0,
"r_rank": "98",
"h_value": 102.0,
"h_rank": "121",
"avg_value": 0.2056451,
"avg_rank": 144.0,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 19.0,
"hr_rank": "70",
"rbi_value": 68.0,
"rbi_rank": "54",
"tb_value": 181.0,
"tb_rank": "571",
"bb_value": 35.0,
"bb_rank": "163",
"so_value": 149.0,
"so_rank": "16",
"sb_value": 18.0,
"sb_rank": "35",
"obp_value": 0.2615101,
"obp_rank": "146",
"slg_value": 0.3649193,
"slg_rank": "124",
"ops_value": 0.6264294,
"ops_rank": 144.0,
"war_value": 0.3,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 491.0,
"k_percent": 27.3,
"bb_percent": 6.4,
"woba": 0.272,
"xwoba": 0.3,
"xba": 0.237,
"xslg": 0.391,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.9,
"whiff_percent": 33.3,
"swing_percent": 50.9
},
"components": {
"expected_quality": 0.1716,
"regression_edge": 0.8,
"xwoba_edge": -0.0286,
"xba_edge": 0.0286,
"xslg_edge": 0.3429,
"barrel_edge": 0.6556,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.2583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "642201",
"player_name": "Eli White",
"offense_factor": 0.9641,
"quality_score": -0.4793,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642201",
"espn_id": 39963,
"player_name": "Eli White",
"team": "BOS",
"role": "batter",
"espn_rank": 166,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 166,
"gp_value": 90.0,
"gp_rank": "238",
"ab_value": 167.0,
"ab_rank": "347",
"r_value": 25.0,
"r_rank": "299",
"h_value": 40.0,
"h_rank": "336",
"avg_value": 0.2395209,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": "306",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 23.0,
"rbi_rank": "306",
"tb_value": 65.0,
"tb_rank": "1799",
"bb_value": 11.0,
"bb_rank": "370",
"so_value": 40.0,
"so_rank": "344",
"sb_value": 5.0,
"sb_rank": "172",
"obp_value": 0.2888888,
"obp_rank": "-",
"slg_value": 0.3892215,
"slg_rank": "-",
"ops_value": 0.6781103,
"ops_rank": null,
"war_value": 1.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 22.2,
"bb_percent": 6.1,
"woba": 0.297,
"xwoba": 0.268,
"xba": 0.223,
"xslg": 0.328,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 30.5,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 8.2,
"whiff_percent": 27.0,
"swing_percent": 52.3
},
"components": {
"expected_quality": -0.6411,
"regression_edge": -0.8286,
"xwoba_edge": -0.9429,
"xba_edge": -0.3714,
"xslg_edge": -0.5571,
"barrel_edge": -0.0778,
"hard_hit_edge": -1.0286,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.325,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"offense_factor": 0.9931,
"quality_score": -0.0914,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643396",
"espn_id": 33572,
"player_name": "Isiah Kiner-Falefa",
"team": "BOS",
"role": "batter",
"espn_rank": 178,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 178,
"gp_value": 48.0,
"gp_rank": "390",
"ab_value": 121.0,
"ab_rank": "400",
"r_value": 19.0,
"r_rank": "357",
"h_value": 33.0,
"h_rank": "373",
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": "402",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 13.0,
"rbi_rank": "383",
"tb_value": 43.0,
"tb_rank": "2590",
"bb_value": 12.0,
"bb_rank": "358",
"so_value": 18.0,
"so_rank": "484",
"sb_value": 7.0,
"sb_rank": "131",
"obp_value": 0.3383458,
"obp_rank": "-",
"slg_value": 0.3553719,
"slg_rank": "-",
"ops_value": 0.6937177,
"ops_rank": null,
"war_value": 1.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 13.4,
"bb_percent": 9.0,
"woba": 0.313,
"xwoba": 0.309,
"xba": 0.275,
"xslg": 0.348,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 26.0,
"exit_velocity_avg": 82.1,
"launch_angle_avg": 10.3,
"whiff_percent": 17.4,
"swing_percent": 49.4
},
"components": {
"expected_quality": -0.1641,
"regression_edge": -0.1143,
"xwoba_edge": 0.2286,
"xba_edge": 1.1143,
"xslg_edge": -0.2714,
"barrel_edge": -0.8333,
"hard_hit_edge": -1.6714,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 0.5417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "686765",
"player_name": "Nick Sogard",
"offense_factor": 0.9993,
"quality_score": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686765",
"espn_id": 42979,
"player_name": "Nick Sogard",
"team": "BOS",
"role": "batter",
"espn_rank": 195,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 195,
"gp_value": 45.0,
"gp_rank": "401",
"ab_value": 162.0,
"ab_rank": "353",
"r_value": 24.0,
"r_rank": "311",
"h_value": 43.0,
"h_rank": "321",
"avg_value": 0.265432,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 13.0,
"rbi_rank": "383",
"tb_value": 65.0,
"tb_rank": "1927",
"bb_value": 25.0,
"bb_rank": "229",
"so_value": 36.0,
"so_rank": "368",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3617021,
"obp_rank": "-",
"slg_value": 0.4012345,
"slg_rank": "-",
"ops_value": 0.7629366,
"ops_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 129.0,
"k_percent": 18.8,
"bb_percent": 13.0,
"woba": 0.341,
"xwoba": 0.319,
"xba": 0.253,
"xslg": 0.357,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 29.0,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 14.2,
"whiff_percent": 20.2,
"swing_percent": 39.1
},
"components": {
"expected_quality": 0.0825,
"regression_edge": -0.6286,
"xwoba_edge": 0.5143,
"xba_edge": 0.4857,
"xslg_edge": -0.1429,
"barrel_edge": -0.4556,
"hard_hit_edge": -1.2429,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 0.5583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "702332",
"player_name": "Caleb Durbin",
"offense_factor": 0.9511,
"quality_score": -0.6525,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702332",
"espn_id": 5007615,
"player_name": "Caleb Durbin",
"team": "BOS",
"role": "batter",
"espn_rank": 41,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 41,
"gp_value": 133.0,
"gp_rank": "57",
"ab_value": 446.0,
"ab_rank": "99",
"r_value": 66.0,
"r_rank": "70",
"h_value": 112.0,
"h_rank": "90",
"avg_value": 0.251121,
"avg_rank": 80.0,
"2b_value": 22.0,
"2b_rank": "85",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 62.0,
"rbi_rank": "76",
"tb_value": 172.0,
"tb_rank": "885",
"bb_value": 41.0,
"bb_rank": "115",
"so_value": 69.0,
"so_rank": "220",
"sb_value": 16.0,
"sb_rank": "47",
"obp_value": 0.3253493,
"obp_rank": "85",
"slg_value": 0.3856502,
"slg_rank": "110",
"ops_value": 0.7109995,
"ops_rank": 102.0,
"war_value": 3.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 450.0,
"k_percent": 13.6,
"bb_percent": 8.1,
"woba": 0.316,
"xwoba": 0.287,
"xba": 0.236,
"xslg": 0.318,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 25.3,
"exit_velocity_avg": 83.5,
"launch_angle_avg": 12.4,
"whiff_percent": 16.2,
"swing_percent": 46.7
},
"components": {
"expected_quality": -0.6239,
"regression_edge": -0.8286,
"xwoba_edge": -0.4,
"xba_edge": 0.0,
"xslg_edge": -0.7,
"barrel_edge": -0.9,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -2.0,
"sweet_spot_edge": -0.625,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"offense_factor": 1.074,
"quality_score": 0.9866,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677800",
"espn_id": 4990055,
"player_name": "Wilyer Abreu",
"team": "BOS",
"role": "batter",
"espn_rank": 6,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 6,
"gp_value": 137.0,
"gp_rank": "20",
"ab_value": 524.0,
"ab_rank": "24",
"r_value": 78.0,
"r_rank": "34",
"h_value": 136.0,
"h_rank": "31",
"avg_value": 0.2595419,
"avg_rank": 62.0,
"2b_value": 34.0,
"2b_rank": "1",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 23.0,
"hr_rank": "33",
"rbi_value": 70.0,
"rbi_rank": "45",
"tb_value": 247.0,
"tb_rank": "167",
"bb_value": 62.0,
"bb_rank": "38",
"so_value": 121.0,
"so_rank": "57",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3372483,
"obp_rank": "62",
"slg_value": 0.471374,
"slg_rank": "32",
"ops_value": 0.8086223,
"ops_rank": 40.0,
"war_value": 5.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 530.0,
"k_percent": 20.2,
"bb_percent": 10.4,
"woba": 0.348,
"xwoba": 0.35,
"xba": 0.255,
"xslg": 0.475,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 18.7,
"whiff_percent": 24.6,
"swing_percent": 48.1
},
"components": {
"expected_quality": 1.1379,
"regression_edge": 0.0571,
"xwoba_edge": 1.4,
"xba_edge": 0.5429,
"xslg_edge": 1.5429,
"barrel_edge": 1.2778,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.5417,
"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 BOS | True | 85 | 0.3699 | 1 | 0.9686 | 0.9846 | 0.9140 | 0.9503 | neutral | 0.2770 | 0.2620 | 19.80 | 4.80 | 24.60 | 6.50 | 36.70 | |
| Home BAL | True | 63 | -0.1806 | 1 | 1.0154 | 0.9669 | 0.9840 | 1.0105 | neutral | 0.3210 | 0.3180 | 18.50 | 8.30 | 22.80 | 6.70 | 40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away BOS | True | None | 87 | 88.60 | 2086 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0708 | |
| Home BAL | True | None | 94 | 88.52 | 2058 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0756 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0132 |
| home_runs_vs_away_pitcher | 0.9837 |
| home_pitcher_starter_only_factor | 1.0154 |
| away_pitcher_starter_only_factor | 0.9686 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.6296 |
| home_pitcher_quality_edge | -0.3466 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "687064",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 503.0,
"k_percent": 18.5,
"bb_percent": 8.3,
"woba": 0.318,
"xwoba": 0.321,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 40.0,
"avg_best_speed": 78.3395,
"avg_hyper_speed": 94.2536,
"whiff_percent": 22.8,
"swing_percent": 49.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1578,
"command_and_miss": -0.2986,
"regression_edge": -0.0857,
"xwoba_edge": -0.2857,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.3429,
"bb_edge": 0.2,
"pitch_design_score": -0.0756
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687064",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5186,
"release_spin_rate": 2057.9819,
"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.5398,
"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.1806,
"sample_weight": 1.0,
"run_prevention_factor": 1.0154,
"strikeout_factor": 0.9669,
"walk_factor": 0.984,
"homer_factor": 1.0105,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687064",
"espn_id": 4414339,
"player_name": "Brandon Young",
"team": "BAL",
"role": "pitcher",
"espn_rank": 63,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 63,
"gp_value": 23.0,
"gp_rank": 336,
"gs_value": 23.0,
"gs_rank": 72,
"qs_value": 11.0,
"qs_rank": 40,
"era_value": 3.3836,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 130.1,
"ip_rank": 69,
"h_value": 128.0,
"h_rank": 53,
"er_value": 49.0,
"er_rank": 99,
"hr_value": 17.0,
"hr_rank": 60,
"bb_value": 46.0,
"bb_rank": 46,
"k_value": 103.0,
"k_rank": 88,
"k_per_9_value": 7.112532,
"k_per_9_rank": 34,
"whip_value": 1.335,
"whip_rank": null,
"war_value": 2.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "687562",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 318.0,
"k_percent": 19.8,
"bb_percent": 4.8,
"woba": 0.262,
"xwoba": 0.277,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.7,
"avg_best_speed": 76.6896,
"avg_hyper_speed": 93.9586,
"whiff_percent": 24.6,
"swing_percent": 53.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.724,
"command_and_miss": 0.05,
"regression_edge": -0.4286,
"xwoba_edge": 0.9714,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.1571,
"whiff_edge": -0.0857,
"bb_edge": 1.075,
"pitch_design_score": -0.0708
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687562",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6045,
"release_spin_rate": 2085.5376,
"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.0708,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5054,
"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.3699,
"sample_weight": 1.0,
"run_prevention_factor": 0.9686,
"strikeout_factor": 0.9846,
"walk_factor": 0.914,
"homer_factor": 0.9503,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687562",
"espn_id": 4654024,
"player_name": "Jake Bennett",
"team": "BOS",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 85,
"gp_value": 16.0,
"gp_rank": 435,
"gs_value": 16.0,
"gs_rank": 123,
"qs_value": 8.0,
"qs_rank": 71,
"era_value": 3.2669,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 6.0,
"l_rank": 105,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 93.2,
"ip_rank": 130,
"h_value": 79.0,
"h_rank": 146,
"er_value": 34.0,
"er_rank": 166,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 74.0,
"k_rank": 159,
"k_per_9_value": 7.11032,
"k_per_9_rank": 33,
"whip_value": 1.0355,
"whip_rank": null,
"war_value": 1.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0132,
"home_runs_vs_away_pitcher": 0.9837,
"home_pitcher_starter_only_factor": 1.0154,
"away_pitcher_starter_only_factor": 0.9686,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.6296,
"home_pitcher_quality_edge": -0.3466
},
"score_before": {
"away_runs": 4.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 4.0529,
"home_runs": 3.9346,
"home_win_probability": 0.4837
},
"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 BOS | 4-6 | 0.400 | 3.80 | 6 | -22 | 2L | average | weak |
| Home BAL | 6-4 | 0.600 | 5.30 | 4 | 13 | 2L | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away BOS | 75-65 | 0.536 | 77 | 0.550 | True |
| Home BAL | 69-71 | 0.493 | -20 | -0.143 | True |
| Signal | - | - | -0.693 | -0.254 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-22 | BAL @ BOS | 5 - 1 | BAL | 4 | blowout |
| 2026-07-22 | BAL @ BOS | 3 - 6 | BOS | 3 | blowout |
| 2026-07-20 | BAL @ BOS | 5 - 6 | BOS | 1 | close |
| 2026-06-04 | BAL @ BOS | 8 - 2 | BAL | 6 | blowout |
| 2026-06-03 | BAL @ BOS | 1 - 8 | BOS | 7 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target BOS | - | - | 5 | - | - | - | - |
| Game target BAL | - | - | 4 | - | - | - | - |
| Player finalized BOS | 35 | 8 | 4 | 1 | 4 | 3 | 7 |
| Player finalized BAL | 33 | 7 | 5 | 1 | 4 | 3 | 9 |
| Player model fractional BOS | 32.39 | 8.12 | 4.14 | 1.00 | 3.46 | 3.28 | 6.50 |
| Player model fractional BAL | 31.00 | 6.65 | 4.04 | 1.00 | 3.80 | 2.91 | 8.55 |
| Simulation box BOS | 34 | 4 | 5 | 2 | 5 | 4 | 7 |
| Simulation box BAL | 34 | 5 | 4 | 1 | 4 | 3 | 11 |
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 BOS | Starter | Jake Bennett | 5.20 | 3 | 7 | 4 | 3 | 3.98 | 1.15 | True |
| Away BOS | Closer | Aroldis Chapman | 1.10 | 0 | 1 | 0 | 0 | 2.14 | 0.97 | True |
| Away BOS | Setup Man | Erik Miller | 1.10 | 0 | 2 | 0 | 0 | 2.58 | 1.15 | True |
| Away BOS | Middle Reliever (High Leverage) | Garrett Whitlock | 0.20 | 0 | 0 | 0 | 0 | 2.78 | 0.98 | True |
| Away BOS | Reliever | Jovani Morán | 0 | 1 | 1 | 1 | 0 | 6.12 | 1.70 | - |
| Home BAL | Starter | Brandon Young | 5.20 | 4 | 5 | 3 | 3 | 3.78 | 1.42 | True |
| Home BAL | Closer | Andrew Kittredge | 1.10 | 0 | 1 | 0 | 0 | 3.01 | 1.48 | True |
| Home BAL | Setup Man | Rico Garcia | 1 | 0 | 0 | 0 | 0 | 2.64 | 1.32 | True |
| Home BAL | Middle Reliever (High Leverage) | Yennier Cano | 1 | 1 | 1 | 1 | 1 | 2.80 | 0.86 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | BOS | batter | 2B | Nick Sogard | better | 9 | 6 | 3 | 7 | 2 | predicted_RBI | 3.6500 | boost | better |
| home | BAL | batter | 3B | Christian Encarnacion-Strand | worse | 10 | 4 | 6 | 4 | 6 | predicted_H | 2.7700 | boost | better |
| away | BOS | batter | C | Adley Rutschman | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -2.6600 | deboost | worse |
| home | BAL | batter | DH | Coby Mayo | better | 11 | 9 | 2 | 8 | 3 | predicted_RBI | 2.4760 | boost | better |
| away | BOS | batter | CF | Eli White | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.5000 | boost | better |
| away | BOS | batter | RF | Wilyer Abreu | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -1.4000 | deboost | worse |
| home | BAL | pitcher | Middle Reliever (High Leverage) | Yennier Cano | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.3333 | boost | better |
| home | BAL | batter | LF | Dylan Beavers | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.1370 | boost | worse |
| away | BOS | batter | SS | Isiah Kiner-Falefa | worse | 8 | 3 | 5 | 2 | 6 | predicted_AB | 1.1190 | boost | better |
| home | BAL | batter | 1B | Pete Alonso | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.0660 | deboost | better |
| home | BAL | batter | SS | Gunnar Henderson | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.0370 | boost | worse |
| away | BOS | pitcher | Starter | Jake Bennett | deboosted | 2 | 0 | 2 | 1 | 1 | predicted_ER | -1.0000 | deboost | better |
| away | BOS | pitcher | Setup Man | Erik Miller | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| away | BOS | pitcher | Reliever | Jovani Morán | boosted | 4 | 4 | 0 | 2 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | BAL | batter | 2B | Blaze Alexander | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.9730 | deboost | worse |
| home | BAL | batter | CF | Luis Robert Jr. | worse | 9 | 1 | 8 | 1 | 8 | predicted_H | -0.9500 | deboost | worse |
| away | BOS | batter | DH | Roman Anthony | better | 10 | 8 | 2 | 8 | 2 | predicted_HR | 0.9410 | boost | better |
| away | BOS | batter | 1B | Mickey Gasper | better | 11 | 8 | 3 | 7 | 4 | predicted_AB | 0.9150 | boost | better |
| away | BOS | batter | 3B | Caleb Durbin | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -0.8000 | deboost | worse |
| away | BOS | batter | LF | Jarren Duran | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.7800 | deboost | worse |
| home | BAL | batter | C | Carlos Narváez | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 0.7690 | boost | better |
| home | BAL | batter | RF | Leody Taveras | worse | 12 | 3 | 9 | 2 | 10 | predicted_H | -0.7240 | deboost | worse |
| home | BAL | pitcher | Starter | Brandon Young | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | BOS | pitcher | Closer | Aroldis Chapman | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | BAL | pitcher | Closer | Andrew Kittredge | 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 | Jake Bennett |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3699 |
| ESPN Rank | 85 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0708 |
| Avg Velo | 88.6045 |
| Avg Spin | 2085.5376 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 7 |
| Season ERA | 3.2669 |
| Season WHIP | 1.0356 |
| Role Avg IP | 5.8540 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"opponent": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"edges": {
"quality_edge": 0.0511,
"offense_edge": -0.0037,
"opponent_offense_edge": 0.009,
"defense_strength": 0.1442,
"opponent_defense_weakness": 0.0392,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9845,
"strikeout": 1.0008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687562",
"profile": {
"available": true,
"pitcher_id": "687562",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 318.0,
"k_percent": 19.8,
"bb_percent": 4.8,
"woba": 0.262,
"xwoba": 0.277,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.7,
"avg_best_speed": 76.6896,
"avg_hyper_speed": 93.9586,
"whiff_percent": 24.6,
"swing_percent": 53.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.724,
"command_and_miss": 0.05,
"regression_edge": -0.4286,
"xwoba_edge": 0.9714,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.1571,
"whiff_edge": -0.0857,
"bb_edge": 1.075,
"pitch_design_score": -0.0708
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687562",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6045,
"release_spin_rate": 2085.5376,
"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.0708,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5054,
"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.3699,
"sample_weight": 1.0,
"run_prevention_factor": 0.9686,
"strikeout_factor": 0.9846,
"walk_factor": 0.914,
"homer_factor": 0.9503,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687562",
"espn_id": 4654024,
"player_name": "Jake Bennett",
"team": "BOS",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 85,
"gp_value": 16.0,
"gp_rank": 435,
"gs_value": 16.0,
"gs_rank": 123,
"qs_value": 8.0,
"qs_rank": 71,
"era_value": 3.2669,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 6.0,
"l_rank": 105,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 93.2,
"ip_rank": 130,
"h_value": 79.0,
"h_rank": 146,
"er_value": 34.0,
"er_rank": 166,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 74.0,
"k_rank": 159,
"k_per_9_value": 7.11032,
"k_per_9_rank": 33,
"whip_value": 1.0355,
"whip_rank": null,
"war_value": 1.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9686,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9686,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.914,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9503,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9846,
"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": 60.2,
"ER": 22,
"H": 51,
"BB": 11,
"SO": 49,
"HR": 5,
"ERA": 3.2637362637362637,
"WHIP": 1.0219780219780221,
"K9": 7.269230769230769,
"HR9": 0.7417582417582418,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "687562",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 88.60453343047513,
"release_spin_rate": 2085.5376155344834,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6045,
"release_spin_rate": 2085.5376,
"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.0708,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5054,
"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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687562",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 14.0,
"R": 15.0,
"H": 26.0,
"BB": 7.0,
"SO": 28.0,
"HR": 2.0,
"BF": 117.0,
"Pitches": 425.0
},
"per_game": {
"IP": 5.2,
"ER": 2.8,
"R": 3.0,
"H": 5.2,
"BB": 1.4,
"SO": 5.6,
"HR": 0.4,
"BF": 23.4,
"Pitches": 85.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1786,
"ER_per_IP": 0.5,
"H_per_IP": 0.92857,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.07143
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.2,
"ER": 22.0,
"R": 23.0,
"H": 51.0,
"BB": 11.0,
"SO": 49.0,
"HR": 5.0,
"BF": 244.0,
"Pitches": 834.0
},
"per_game": {
"IP": 6.0,
"ER": 2.2,
"R": 2.3,
"H": 5.1,
"BB": 1.1,
"SO": 4.9,
"HR": 0.5,
"BF": 24.4,
"Pitches": 83.4
},
"rates": {
"ERA": 3.2637,
"WHIP": 1.022,
"ER_per_IP": 0.36264,
"H_per_IP": 0.84066,
"BB_per_IP": 0.18132,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.08242
}
},
"season": {
"games": 16,
"totals": {
"IP": 93.2,
"ER": 34.0,
"R": 35.0,
"H": 79.0,
"BB": 18.0,
"SO": 74.0,
"HR": 7.0,
"BF": 373.0,
"Pitches": 1316.0
},
"per_game": {
"IP": 6.0,
"ER": 2.125,
"R": 2.1875,
"H": 4.9375,
"BB": 1.125,
"SO": 4.625,
"HR": 0.4375,
"BF": 23.3125,
"Pitches": 82.25
},
"rates": {
"ERA": 3.2669,
"WHIP": 1.0356,
"ER_per_IP": 0.36299,
"H_per_IP": 0.84342,
"BB_per_IP": 0.19217,
"SO_per_IP": 0.79004,
"HR_per_IP": 0.07473
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.566,
"predicted_H": 5.242,
"predicted_BB": 1.461,
"predicted_SO": 5.239,
"predicted_HR": 0.539,
"predicted_ERA": 3.9772,
"predicted_WHIP": 1.1543
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.566,
"final": 3.2122,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.242,
"final": 4.6824,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.461,
"final": 2.1545,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 5.239,
"final": 6.0325,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.539,
"final": 0.7467,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9772,
"final": 3.9772,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1543,
"final": 1.1543,
"source": "form_only"
}
}
}{
"available": false,
"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 | Aroldis Chapman |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5369 |
| ESPN Rank | 78 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2593 |
| Avg Velo | 94.4992 |
| Avg Spin | 2270.1165 |
| 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 | 1.1825 |
| Season WHIP | 1.0511 |
| Role Avg IP | 0.9930 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"opponent": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"edges": {
"quality_edge": 0.0511,
"offense_edge": -0.0037,
"opponent_offense_edge": 0.009,
"defense_strength": 0.1442,
"opponent_defense_weakness": 0.0392,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9845,
"strikeout": 1.0008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "547973",
"profile": {
"available": true,
"pitcher_id": "547973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 170.0,
"k_percent": 31.7,
"bb_percent": 10.6,
"woba": 0.265,
"xwoba": 0.256,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.0,
"avg_best_speed": 77.0967,
"avg_hyper_speed": 94.5007,
"whiff_percent": 29.3,
"swing_percent": 52.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9741,
"command_and_miss": 0.76,
"regression_edge": 0.2571,
"xwoba_edge": 1.5714,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.0286,
"whiff_edge": 0.5857,
"bb_edge": -0.375,
"pitch_design_score": 0.2593
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 94.49924330855276,
"release_spin_rate": 2270.116471229889,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 94.49924330855276,
"release_spin_rate": 2270.116471229889,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4992,
"release_spin_rate": 2270.1165,
"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.2593,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8525,
"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.5369,
"sample_weight": 0.68,
"run_prevention_factor": 0.9544,
"strikeout_factor": 1.054,
"walk_factor": 1.0204,
"homer_factor": 0.9699,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547973",
"espn_id": 30442,
"player_name": "Aroldis Chapman",
"team": "BOS",
"role": "pitcher",
"espn_rank": 78,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 78,
"gp_value": 47.0,
"gp_rank": 111,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.7737,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 30.0,
"sv_rank": 7,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 45.2,
"ip_rank": 311,
"h_value": 32.0,
"h_rank": 383,
"er_value": 9.0,
"er_rank": 545,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 20.0,
"bb_rank": 286,
"k_value": 60.0,
"k_rank": 216,
"k_per_9_value": 11.824817,
"k_per_9_rank": 18,
"whip_value": 1.1386,
"whip_rank": null,
"war_value": 1.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.969,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.969,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0139,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9795,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0367,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 5,
"BB": 3,
"SO": 13,
"HR": 1,
"ERA": 1.8,
"WHIP": 0.8,
"K9": 11.7,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "547973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 94.49924330855276,
"release_spin_rate": 2270.116471229889,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 94.49924330855276,
"release_spin_rate": 2270.116471229889,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4992,
"release_spin_rate": 2270.1165,
"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.2593,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8525,
"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.179,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6474,
"prior_weight": 0.3526
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "547973",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.4,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 13.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.3,
"SO": 1.3,
"HR": 0.1,
"BF": 3.8,
"Pitches": 16.0
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.5,
"BB_per_IP": 0.3,
"SO_per_IP": 1.3,
"HR_per_IP": 0.1
}
},
"season": {
"games": 46,
"totals": {
"IP": 45.2,
"ER": 6.0,
"R": 8.0,
"H": 28.0,
"BB": 20.0,
"SO": 60.0,
"HR": 2.0,
"BF": 185.0,
"Pitches": 737.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1304,
"R": 0.1739,
"H": 0.6087,
"BB": 0.4348,
"SO": 1.3043,
"HR": 0.0435,
"BF": 4.0217,
"Pitches": 16.0217
},
"rates": {
"ERA": 1.1825,
"WHIP": 1.0511,
"ER_per_IP": 0.13139,
"H_per_IP": 0.61314,
"BB_per_IP": 0.43796,
"SO_per_IP": 1.31387,
"HR_per_IP": 0.0438
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.238,
"predicted_H": 0.594,
"predicted_BB": 0.372,
"predicted_SO": 1.262,
"predicted_HR": 0.08,
"predicted_ERA": 2.14,
"predicted_WHIP": 0.9659
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.499,
"form_weight": 0.501,
"form_reliability": 0.6474,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.179,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6474,
"prior_weight": 0.3526
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.238,
"final": 0.1192,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.594,
"final": 0.2976,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.372,
"final": 0.1864,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.262,
"final": 1.1313,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0401,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.14,
"final": 2.14,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9659,
"final": 0.9659,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Miller |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6648 |
| ESPN Rank | 152 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1129 |
| Avg Velo | 91.8843 |
| Avg Spin | 2413.1710 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.0455 |
| Season WHIP | 1.2045 |
| Role Avg IP | 0.9150 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"opponent": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"edges": {
"quality_edge": 0.0511,
"offense_edge": -0.0037,
"opponent_offense_edge": 0.009,
"defense_strength": 0.1442,
"opponent_defense_weakness": 0.0392,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9845,
"strikeout": 1.0008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669062",
"profile": {
"available": true,
"pitcher_id": "669062",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 167.0,
"k_percent": 34.6,
"bb_percent": 13.3,
"woba": 0.277,
"xwoba": 0.261,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 25.3,
"avg_best_speed": 71.0743,
"avg_hyper_speed": 92.5654,
"whiff_percent": 36.5,
"swing_percent": 40.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.1356,
"command_and_miss": 1.1714,
"regression_edge": 0.4571,
"xwoba_edge": 1.4286,
"barrel_edge": 0.4222,
"hard_hit_edge": 1.7857,
"whiff_edge": 1.6143,
"bb_edge": -1.05,
"pitch_design_score": 0.1129
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669062",
"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": 91.88434691440233,
"release_spin_rate": 2413.170968637156,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.88434691440233,
"release_spin_rate": 2413.170968637156,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8843,
"release_spin_rate": 2413.171,
"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.1129,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.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": 0.6648,
"sample_weight": 0.668,
"run_prevention_factor": 0.9435,
"strikeout_factor": 1.0916,
"walk_factor": 1.0561,
"homer_factor": 0.9011,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669062",
"espn_id": 4152950,
"player_name": "Erik Miller",
"team": "BOS",
"role": "pitcher",
"espn_rank": 152,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 152,
"gp_value": 49.0,
"gp_rank": 102,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.25,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 0.0,
"l_rank": 569,
"sv_value": 4.0,
"sv_rank": 52,
"hld_value": 12.0,
"hld_rank": 54,
"ip_value": 44.0,
"ip_rank": 329,
"h_value": 31.0,
"h_rank": 393,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 25.0,
"bb_rank": 208,
"k_value": 65.0,
"k_rank": 192,
"k_per_9_value": 13.295455,
"k_per_9_rank": 15,
"whip_value": 1.2727,
"whip_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9623,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9623,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0375,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9339,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0612,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 1,
"H": 8,
"BB": 3,
"SO": 19,
"HR": 1,
"ERA": 0.8181818181818182,
"WHIP": 1.0,
"K9": 15.545454545454545,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-31T00:00:00"
}{
"available": true,
"pitcher_id": "669062",
"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": 91.88434691440233,
"release_spin_rate": 2413.170968637156,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.88434691440233,
"release_spin_rate": 2413.170968637156,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8843,
"release_spin_rate": 2413.171,
"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.1129,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.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": 8.844,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6388,
"prior_weight": 0.3612
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669062",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 10.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 2.0,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 2.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 2.0,
"H": 8.0,
"BB": 3.0,
"SO": 19.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.8,
"BB": 0.3,
"SO": 1.9,
"HR": 0.1,
"BF": 4.5,
"Pitches": 17.7
},
"rates": {
"ERA": 0.8182,
"WHIP": 1.0,
"ER_per_IP": 0.09091,
"H_per_IP": 0.72727,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.72727,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 48,
"totals": {
"IP": 44.0,
"ER": 10.0,
"R": 11.0,
"H": 30.0,
"BB": 23.0,
"SO": 65.0,
"HR": 3.0,
"BF": 185.0,
"Pitches": 806.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2083,
"R": 0.2292,
"H": 0.625,
"BB": 0.4792,
"SO": 1.3542,
"HR": 0.0625,
"BF": 3.8542,
"Pitches": 16.7917
},
"rates": {
"ERA": 2.0455,
"WHIP": 1.2045,
"ER_per_IP": 0.22727,
"H_per_IP": 0.68182,
"BB_per_IP": 0.52273,
"SO_per_IP": 1.47727,
"HR_per_IP": 0.06818
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.287,
"predicted_H": 0.831,
"predicted_BB": 0.319,
"predicted_SO": 1.489,
"predicted_HR": 0.139,
"predicted_ERA": 2.5792,
"predicted_WHIP": 1.1502
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5026,
"form_weight": 0.4974,
"form_reliability": 0.6388,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.844,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6388,
"prior_weight": 0.3612
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.287,
"final": 0.1428,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.831,
"final": 0.9159,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.319,
"final": 0.1587,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.489,
"final": 1.7458,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.139,
"final": 0.0691,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5792,
"final": 2.5792,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1502,
"final": 1.1502,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Garrett Whitlock |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6247 |
| ESPN Rank | 108 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0704 |
| Avg Velo | 91.1253 |
| Avg Spin | 2132.7182 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2 |
| Season WHIP | 0.8667 |
| Role Avg IP | 0.9780 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"opponent": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"edges": {
"quality_edge": 0.0511,
"offense_edge": -0.0037,
"opponent_offense_edge": 0.009,
"defense_strength": 0.1442,
"opponent_defense_weakness": 0.0392,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9845,
"strikeout": 1.0008
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676477",
"profile": {
"available": true,
"pitcher_id": "676477",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 167.0,
"k_percent": 29.2,
"bb_percent": 4.1,
"woba": 0.23,
"xwoba": 0.248,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 35.1,
"avg_best_speed": 77.859,
"avg_hyper_speed": 93.4166,
"whiff_percent": 30.0,
"swing_percent": 57.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.3064,
"command_and_miss": 0.9593,
"regression_edge": -0.5143,
"xwoba_edge": 1.8,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.3857,
"whiff_edge": 0.6857,
"bb_edge": 1.25,
"pitch_design_score": 0.0704
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676477",
"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.12529698698502,
"release_spin_rate": 2132.71824259612,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.12529698698502,
"release_spin_rate": 2132.71824259612,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1253,
"release_spin_rate": 2132.7182,
"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.0704,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5029,
"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.6247,
"sample_weight": 0.668,
"run_prevention_factor": 0.9469,
"strikeout_factor": 1.0462,
"walk_factor": 0.9332,
"homer_factor": 0.9085,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676477",
"espn_id": 39674,
"player_name": "Garrett Whitlock",
"team": "BOS",
"role": "pitcher",
"espn_rank": 108,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 108,
"gp_value": 46.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.0,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 22.0,
"hld_rank": 11,
"ip_value": 45.0,
"ip_rank": 318,
"h_value": 32.0,
"h_rank": 383,
"er_value": 10.0,
"er_rank": 521,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 7.0,
"bb_rank": 543,
"k_value": 50.0,
"k_rank": 281,
"k_per_9_value": 10.0,
"k_per_9_rank": 23,
"whip_value": 0.8666,
"whip_rank": null,
"war_value": 1.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9645,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9645,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9554,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9389,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0309,
"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": 0,
"ERA": 1.8,
"WHIP": 0.7,
"K9": 10.8,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "676477",
"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.12529698698502,
"release_spin_rate": 2132.71824259612,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.12529698698502,
"release_spin_rate": 2132.71824259612,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1253,
"release_spin_rate": 2132.7182,
"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.0704,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5029,
"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.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676477",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.4
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 131.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.6,
"BB": 0.1,
"SO": 1.2,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.1
},
"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.0
}
},
"season": {
"games": 46,
"totals": {
"IP": 45.0,
"ER": 10.0,
"R": 12.0,
"H": 32.0,
"BB": 7.0,
"SO": 50.0,
"HR": 3.0,
"BF": 171.0,
"Pitches": 634.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2174,
"R": 0.2609,
"H": 0.6957,
"BB": 0.1522,
"SO": 1.087,
"HR": 0.0652,
"BF": 3.7174,
"Pitches": 13.7826
},
"rates": {
"ERA": 2.0,
"WHIP": 0.8667,
"ER_per_IP": 0.22222,
"H_per_IP": 0.71111,
"BB_per_IP": 0.15556,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.06667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.309,
"predicted_H": 0.747,
"predicted_BB": 0.232,
"predicted_SO": 1.212,
"predicted_HR": 0.061,
"predicted_ERA": 2.7792,
"predicted_WHIP": 0.9796
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5004,
"form_weight": 0.4996,
"form_reliability": 0.644,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.309,
"final": 0.1544,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.747,
"final": 0.3732,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.232,
"final": 0.1159,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.212,
"final": 0.6055,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0305,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7792,
"final": 2.7792,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9796,
"final": 0.9796,
"source": "form_only"
}
}
}{
"available": false,
"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 | Jovani Morán |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3283 |
| ESPN Rank | 248 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1165 |
| Avg Velo | 87.7880 |
| Avg Spin | 2181.2094 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| 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": "663558",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.78796780643944,
"release_spin_rate": 2181.2094318796794,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.78796780643944,
"release_spin_rate": 2181.2094318796794,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.788,
"release_spin_rate": 2181.2094,
"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.1165,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.832,
"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.725,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.701,
"prior_weight": 0.299
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663558",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 6.0,
"R": 7.0,
"H": 8.0,
"BB": 7.0,
"SO": 5.0,
"HR": 2.0,
"BF": 33.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.1,
"ER": 1.2,
"R": 1.4,
"H": 1.6,
"BB": 1.4,
"SO": 1.0,
"HR": 0.4,
"BF": 6.6,
"Pitches": 26.8
},
"rates": {
"ERA": 8.5263,
"WHIP": 2.3684,
"ER_per_IP": 0.94737,
"H_per_IP": 1.26316,
"BB_per_IP": 1.10526,
"SO_per_IP": 0.78947,
"HR_per_IP": 0.31579
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 9.0,
"R": 10.0,
"H": 11.0,
"BB": 9.0,
"SO": 10.0,
"HR": 3.0,
"BF": 58.0,
"Pitches": 231.0
},
"per_game": {
"IP": 1.1,
"ER": 0.9,
"R": 1.0,
"H": 1.1,
"BB": 0.9,
"SO": 1.0,
"HR": 0.3,
"BF": 5.8,
"Pitches": 23.1
},
"rates": {
"ERA": 6.5676,
"WHIP": 1.6216,
"ER_per_IP": 0.72973,
"H_per_IP": 0.89189,
"BB_per_IP": 0.72973,
"SO_per_IP": 0.81081,
"HR_per_IP": 0.24324
}
},
"season": {
"games": 42,
"totals": {
"IP": 58.1,
"ER": 22.0,
"R": 23.0,
"H": 37.0,
"BB": 27.0,
"SO": 63.0,
"HR": 9.0,
"BF": 240.0,
"Pitches": 931.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5238,
"R": 0.5476,
"H": 0.881,
"BB": 0.6429,
"SO": 1.5,
"HR": 0.2143,
"BF": 5.7143,
"Pitches": 22.1667
},
"rates": {
"ERA": 3.3943,
"WHIP": 1.0971,
"ER_per_IP": 0.37714,
"H_per_IP": 0.63429,
"BB_per_IP": 0.46286,
"SO_per_IP": 1.08,
"HR_per_IP": 0.15429
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.703,
"predicted_H": 1.031,
"predicted_BB": 0.728,
"predicted_SO": 0.91,
"predicted_HR": 0.232,
"predicted_ERA": 6.1159,
"predicted_WHIP": 1.7005
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4763,
"form_weight": 0.5237,
"form_reliability": 0.701,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.725,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.701,
"prior_weight": 0.299
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.703,
"final": 0.3681,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.031,
"final": 0.5399,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.728,
"final": 0.3812,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.91,
"final": 0.4765,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.232,
"final": 0.1215,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1159,
"final": 6.1159,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7005,
"final": 1.7005,
"source": "form_only"
}
}
}{
"available": false,
"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.206 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.735 | 4.000 | 4.000 | Hitting_AB | 3.830 | 5.000 | 0.170 | -1.000 |
| predicted_AVG | 0.268 | 0.250 | 0.250 | Hitting_AVG | 0.240 | 0.600 | 0.010 | -0.350 |
| predicted_BB | 0.618 | 1.000 | 1.000 | Hitting_BB | 0.726 | 0.000 | 0.274 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 0.919 | 3.000 | 0.081 | -2.000 |
| predicted_HR | 0.059 | 1.000 | 0.000 | Hitting_HR | 0.015 | 1.000 | 0.985 | 0.000 |
| predicted_OBP | 0.372 | 0.400 | 0.400 | Hitting_OBP | 0.366 | 0.600 | 0.034 | -0.200 |
| predicted_R | 0.471 | 1.000 | 1.000 | Hitting_R | 0.459 | 1.000 | 0.541 | 0.000 |
| predicted_RBI | 0.176 | 1.000 | 0.000 | Hitting_RBI | 0.170 | 1.000 | 0.830 | 0.000 |
| predicted_SLG | 0.402 | 1.000 | 0.250 | Hitting_SLG | 0.321 | 1.200 | 0.679 | -0.200 |
| predicted_SO | 1.029 | 1.000 | 1.000 | Hitting_SO | 1.119 | 1.000 | -0.119 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.0590 -> 1.0000 (boost 0.9410, better) |
| Biggest Deboost | predicted_2B: 0.2060 -> 0.0000 (deboost -0.2060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_H: 1.0000 -> 1.0818 (boost 0.0818, better) | predicted_SO: 1.0290 -> 0.9480 (deboost -0.0810, 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 | 8 | 3 | 5 | 2 | 6 | predicted_BB: 0.5470 -> 1.0000 (boost 0.4530, better) | predicted_2B: 0.2297 -> 0.0000 (deboost -0.2297, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.287 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4958 -> 0.0000 (deboost -0.4958, 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 | 3 | 0 | 3 | 0 | predicted_HR: 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": "701350",
"player_name": "Roman Anthony",
"position": "DH",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.206,
"predicted_3B": 0.059,
"predicted_AB": 3.735,
"predicted_AVG": 0.268,
"predicted_BB": 0.618,
"predicted_H": 1.0,
"predicted_HR": 0.059,
"predicted_OBP": 0.372,
"predicted_R": 0.471,
"predicted_RBI": 0.176,
"predicted_SLG": 0.402,
"predicted_SO": 1.029
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2297,
"predicted_3B": 0.0682,
"predicted_AB": 3.7619,
"predicted_AVG": 0.2875,
"predicted_BB": 0.5462,
"predicted_H": 1.0818,
"predicted_HBP": 0.02,
"predicted_HR": 0.0758,
"predicted_OBP": 0.3799,
"predicted_R": 0.4967,
"predicted_RBI": 0.1932,
"predicted_SLG": 0.4449,
"predicted_SO": 0.948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.2297,
"delta": 0.0237,
"percent_delta": 0.115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0682,
"delta": 0.0092,
"percent_delta": 0.1559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.735,
"after": 3.7619,
"delta": 0.0269,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2875,
"delta": 0.0195,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.618,
"after": 0.5462,
"delta": -0.0718,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0818,
"delta": 0.0818,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0758,
"delta": 0.0168,
"percent_delta": 0.2847,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.372,
"after": 0.3799,
"delta": 0.0079,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4967,
"delta": 0.0257,
"percent_delta": 0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.176,
"after": 0.1932,
"delta": 0.0172,
"percent_delta": 0.0977,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4449,
"delta": 0.0429,
"percent_delta": 0.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 0.948,
"delta": -0.081,
"percent_delta": -0.0787,
"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": 1.0818,
"delta": 0.0818,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.029,
"after": 0.948,
"delta": -0.081,
"percent_delta": -0.0787,
"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": 34
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2297,
"predicted_3B": 0.0682,
"predicted_AB": 3.7619,
"predicted_AVG": 0.2872,
"predicted_BB": 0.547,
"predicted_H": 1.0805,
"predicted_HBP": 0.02,
"predicted_HR": 0.0763,
"predicted_OBP": 0.3777,
"predicted_R": 0.4958,
"predicted_RBI": 0.1929,
"predicted_SLG": 0.4454,
"predicted_SO": 0.9467
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2297,
"after": 0.2297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0682,
"after": 0.0682,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7619,
"after": 3.7619,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2875,
"after": 0.2872,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5462,
"after": 0.547,
"delta": 0.0008,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0818,
"after": 1.0805,
"delta": -0.0013,
"percent_delta": -0.0012,
"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.0758,
"after": 0.0763,
"delta": 0.0005,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3799,
"after": 0.3777,
"delta": -0.0022,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4967,
"after": 0.4958,
"delta": -0.0009,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1932,
"after": 0.1929,
"delta": -0.0003,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4449,
"after": 0.4454,
"delta": 0.0005,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 0.9467,
"delta": -0.0013,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.76), rates preserved: AVG=0.287 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2297,
"after": 0.0,
"delta": -0.2297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0682,
"after": 0.0,
"delta": -0.0682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7619,
"after": 4.0,
"delta": 0.2381,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.547,
"after": 1.0,
"delta": 0.453,
"percent_delta": 0.8282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0805,
"after": 1.0,
"delta": -0.0805,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0763,
"after": 0.0,
"delta": -0.0763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1929,
"after": 0.0,
"delta": -0.1929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9467,
"after": 1.0,
"delta": 0.0533,
"percent_delta": 0.0563,
"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_BB",
"before": 0.547,
"after": 1.0,
"delta": 0.453,
"percent_delta": 0.8282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2297,
"after": 0.0,
"delta": -0.2297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4958,
"after": 0.0,
"delta": -0.4958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4958,
"after": 0.0,
"delta": -0.4958,
"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.287,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.382,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.445,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2872,
"after": 0.287,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3777,
"after": 0.382,
"delta": 0.0043,
"percent_delta": 0.0114,
"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.4454,
"after": 0.445,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2872,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3777,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4454,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2872,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.382,
"after": 0.3777,
"delta": -0.0043,
"percent_delta": -0.0113,
"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.445,
"after": 0.4454,
"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": 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.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.735,
"after": 4.0,
"delta": 0.265,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2872,
"delta": 0.0192,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"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.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.372,
"after": 0.3777,
"delta": 0.0057,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"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.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4454,
"delta": 0.0434,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 1.0,
"delta": -0.029,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"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.206 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.735 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.618 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.059 | - |
| predicted_OBP | 0.372 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.176 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 1.029 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | 0.024 |
| predicted_3B | 0.068 | 0.009 |
| predicted_AB | 3.762 | 0.027 |
| predicted_AVG | 0.287 | 0.019 |
| predicted_BB | 0.546 | -0.072 |
| predicted_H | 1.082 | 0.082 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.076 | 0.017 |
| predicted_OBP | 0.380 | 0.008 |
| predicted_R | 0.497 | 0.026 |
| predicted_RBI | 0.193 | 0.017 |
| predicted_SLG | 0.445 | 0.043 |
| predicted_SO | 0.948 | -0.081 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | 0.000 |
| predicted_3B | 0.068 | 0.000 |
| predicted_AB | 3.762 | 0.000 |
| predicted_AVG | 0.287 | -0.000 |
| predicted_BB | 0.547 | 0.001 |
| predicted_H | 1.081 | -0.001 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.076 | 0.001 |
| predicted_OBP | 0.378 | -0.002 |
| predicted_R | 0.496 | -0.001 |
| predicted_RBI | 0.193 | -0.000 |
| predicted_SLG | 0.445 | 0.001 |
| predicted_SO | 0.947 | -0.001 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.287 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.230 |
| predicted_3B | 0.000 | -0.068 |
| predicted_AB | 4.000 | 0.238 |
| predicted_AVG | 0.287 | -0.000 |
| predicted_BB | 1.000 | 0.453 |
| predicted_H | 1.000 | -0.081 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.382 | 0.004 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.193 |
| predicted_SLG | 0.445 | -0.000 |
| predicted_SO | 1.000 | 0.053 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 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 | - | 19.000 | 9.000 | 2.000 | 1.000 | 1.000 | 1.000 | 4.000 | 1.000 | 2.000 | 0.4737 | 0.5000 | 0.8421 | 0.4737 | 0.0526 | 0.0526 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 10 | - | 40.000 | 15.000 | 4.000 | 1.000 | 1.000 | 1.000 | 5.000 | 3.000 | 6.000 | 0.3750 | 0.4186 | 0.6000 | 0.3750 | 0.0250 | 0.0250 | 0.0750 | 0.1500 |
| season | 0.60 | 34 | - | 127.000 | 34.000 | 7.000 | 2.000 | 2.000 | 6.000 | 16.000 | 21.000 | 35.000 | 0.2677 | 0.3758 | 0.4016 | 0.2677 | 0.0158 | 0.0472 | 0.1653 | 0.2756 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2650 |
| predicted_3B | 0.0820 |
| predicted_AB | 3.8020 |
| predicted_AVG | 0.3166 |
| predicted_BB | 0.4390 |
| predicted_H | 1.2040 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3918 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.2190 |
| predicted_SLG | 0.5089 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.2650 | 0.2297 | model_form_blend |
| predicted_3B | 0.0590 | 0.0820 | 0.0682 | model_form_blend |
| predicted_AB | 3.7350 | 3.8020 | 3.7619 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3166 | 0.2875 | model_form_blend |
| predicted_BB | 0.6180 | 0.4390 | 0.5462 | model_form_blend |
| predicted_H | 1.0000 | 1.2040 | 1.0818 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0590 | 0.1010 | 0.0758 | model_form_blend |
| predicted_OBP | 0.3720 | 0.3918 | 0.3799 | model_form_blend |
| predicted_R | 0.4710 | 0.5350 | 0.4967 | model_form_blend |
| predicted_RBI | 0.1760 | 0.2190 | 0.1932 | model_form_blend |
| predicted_SLG | 0.4020 | 0.5089 | 0.4449 | model_form_blend |
| predicted_SO | 1.0290 | 0.8270 | 0.9480 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 135 |
| Season rows before report date | 135 |
| Report year | 2026 |
| Profile rows used | 34 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 6 |
| 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 | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 701350 |
| playerID | 701350 |
| playerName | Roman Anthony |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.347 |
| sl_xwoba | 0.367 |
| sl_xba | 0.285 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 42.4 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 38.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.191 | 1.000 | 0.000 | Hitting_2B | 0.174 | 1.000 | 0.826 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.085 | 4.000 | 3.000 | Hitting_AB | 3.486 | 5.000 | 0.514 | -1.000 |
| predicted_AVG | 0.283 | 0.250 | 0.333 | Hitting_AVG | 0.267 | 0.400 | -0.017 | -0.150 |
| predicted_BB | 0.383 | 0.000 | 0.000 | Hitting_BB | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.872 | 1.000 | 1.000 | Hitting_H | 0.931 | 2.000 | 0.069 | -1.000 |
| predicted_HR | 0.149 | 0.000 | 1.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.362 | 0.400 | 0.333 | Hitting_OBP | 0.343 | 0.400 | 0.057 | 0.000 |
| predicted_R | 0.447 | 1.000 | 1.000 | Hitting_R | 0.458 | 1.000 | 0.542 | 0.000 |
| predicted_RBI | 0.447 | 0.000 | 1.000 | Hitting_RBI | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_SLG | 0.503 | 0.500 | 1.333 | Hitting_SLG | 0.432 | 0.600 | 0.068 | -0.100 |
| predicted_SO | 0.532 | 1.000 | 0.000 | Hitting_SO | 0.562 | 1.000 | 0.438 | 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.0850 -> 4.0000 (boost 0.9150, better) |
| Biggest Deboost | predicted_RBI: 0.4470 -> 0.0000 (deboost -0.4470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5030 -> 0.5428 (boost 0.0398, 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 | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.5357 -> 1.0000 (boost 0.4643, worse) | predicted_RBI: 0.4665 -> 0.0000 (deboost -0.4665, worse) | AB rounded to 3 (raw=3.13), rates preserved: AVG=0.289 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4931 -> 0.0000 (deboost -0.4931, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 4 | 3 | 1 | 4 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | 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 | 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 | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681508",
"player_name": "Mickey Gasper",
"position": "1B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.021,
"predicted_AB": 3.085,
"predicted_AVG": 0.283,
"predicted_BB": 0.383,
"predicted_H": 0.872,
"predicted_HR": 0.149,
"predicted_OBP": 0.362,
"predicted_R": 0.447,
"predicted_RBI": 0.447,
"predicted_SLG": 0.503,
"predicted_SO": 0.532
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0178,
"predicted_AB": 3.1316,
"predicted_AVG": 0.2891,
"predicted_BB": 0.4171,
"predicted_H": 0.9052,
"predicted_HBP": 0.077,
"predicted_HR": 0.1847,
"predicted_OBP": 0.3753,
"predicted_R": 0.494,
"predicted_RBI": 0.4673,
"predicted_SLG": 0.5428,
"predicted_SO": 0.5365
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.208,
"delta": 0.017,
"percent_delta": 0.089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0178,
"delta": -0.0032,
"percent_delta": -0.1524,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.085,
"after": 3.1316,
"delta": 0.0466,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2891,
"delta": 0.0061,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.4171,
"delta": 0.0341,
"percent_delta": 0.089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.872,
"after": 0.9052,
"delta": 0.0332,
"percent_delta": 0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.149,
"after": 0.1847,
"delta": 0.0357,
"percent_delta": 0.2396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3753,
"delta": 0.0133,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.494,
"delta": 0.047,
"percent_delta": 0.1051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.447,
"after": 0.4673,
"delta": 0.0203,
"percent_delta": 0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5428,
"delta": 0.0398,
"percent_delta": 0.0791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.5365,
"delta": 0.0045,
"percent_delta": 0.0085,
"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.503,
"after": 0.5428,
"delta": 0.0398,
"percent_delta": 0.0791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 47
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0178,
"predicted_AB": 3.1316,
"predicted_AVG": 0.2887,
"predicted_BB": 0.4177,
"predicted_H": 0.9041,
"predicted_HBP": 0.077,
"predicted_HR": 0.1858,
"predicted_OBP": 0.3724,
"predicted_R": 0.4931,
"predicted_RBI": 0.4665,
"predicted_SLG": 0.5445,
"predicted_SO": 0.5357
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1316,
"after": 3.1316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2891,
"after": 0.2887,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4171,
"after": 0.4177,
"delta": 0.0006,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9052,
"after": 0.9041,
"delta": -0.0011,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1847,
"after": 0.1858,
"delta": 0.0011,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3753,
"after": 0.3724,
"delta": -0.0029,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.4931,
"delta": -0.0009,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4673,
"after": 0.4665,
"delta": -0.0008,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5428,
"after": 0.5445,
"delta": 0.0017,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5365,
"after": 0.5357,
"delta": -0.0008,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.13), rates preserved: AVG=0.289 HR/AB=0.059",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0,
"delta": -0.0178,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1316,
"after": 3.0,
"delta": -0.1316,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4177,
"after": 0.0,
"delta": -0.4177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9041,
"after": 1.0,
"delta": 0.0959,
"percent_delta": 0.1061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1858,
"after": 0.0,
"delta": -0.1858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4665,
"after": 0.0,
"delta": -0.4665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"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.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4665,
"after": 0.0,
"delta": -0.4665,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4931,
"after": 0.0,
"delta": -0.4931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4931,
"after": 0.0,
"delta": -0.4931,
"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": 1.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.289,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.377,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.545,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2887,
"after": 0.289,
"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_H",
"before": 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.3724,
"after": 0.377,
"delta": 0.0046,
"percent_delta": 0.0124,
"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.5445,
"after": 0.545,
"delta": 0.0005,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_AVG": 0.2887,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3724,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5445,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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.289,
"after": 0.2887,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3724,
"delta": -0.0046,
"percent_delta": -0.0122,
"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.545,
"after": 0.5445,
"delta": -0.0005,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.191,
"after": 1.0,
"delta": 0.809,
"percent_delta": 4.2356,
"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.085,
"after": 4.0,
"delta": 0.915,
"percent_delta": 0.2966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2887,
"delta": 0.0057,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.872,
"after": 1.0,
"delta": 0.128,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3724,
"delta": 0.0104,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 1.0,
"delta": 0.553,
"percent_delta": 1.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5445,
"delta": 0.0415,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 1.0,
"delta": 0.468,
"percent_delta": 0.8797,
"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.085,
"after": 4.0,
"delta": 0.915,
"percent_delta": 0.2966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.021 | - |
| predicted_AB | 3.085 | - |
| predicted_AVG | 0.283 | - |
| predicted_BB | 0.383 | - |
| predicted_H | 0.872 | - |
| predicted_HR | 0.149 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.447 | - |
| predicted_RBI | 0.447 | - |
| predicted_SLG | 0.503 | - |
| predicted_SO | 0.532 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.017 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.132 | 0.047 |
| predicted_AVG | 0.289 | 0.006 |
| predicted_BB | 0.417 | 0.034 |
| predicted_H | 0.905 | 0.033 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.185 | 0.036 |
| predicted_OBP | 0.375 | 0.013 |
| predicted_R | 0.494 | 0.047 |
| predicted_RBI | 0.467 | 0.020 |
| predicted_SLG | 0.543 | 0.040 |
| predicted_SO | 0.536 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.132 | 0.000 |
| predicted_AVG | 0.289 | -0.000 |
| predicted_BB | 0.418 | 0.001 |
| predicted_H | 0.904 | -0.001 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.186 | 0.001 |
| predicted_OBP | 0.372 | -0.003 |
| predicted_R | 0.493 | -0.001 |
| predicted_RBI | 0.467 | -0.001 |
| predicted_SLG | 0.544 | 0.002 |
| predicted_SO | 0.536 | -0.001 |
AB rounded to 3 (raw=3.13), rates preserved: AVG=0.289 HR/AB=0.059
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 |
| RBI | 1.000 | 1.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.208 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.132 |
| predicted_AVG | 0.289 | 0.000 |
| predicted_BB | 0.000 | -0.418 |
| predicted_H | 1.000 | 0.096 |
| predicted_HR | 0.000 | -0.186 |
| predicted_OBP | 0.377 | 0.005 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 0.000 | -0.467 |
| predicted_SLG | 0.545 | 0.001 |
| predicted_SO | 1.000 | 0.464 |
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 | 1.000 | 1.000 |
| HR | 0.000 | -1.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 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 2.000 | 2.000 | 4.000 | 3.000 | 3.000 | 0.2941 | 0.4000 | 0.7059 | 0.2941 | 0.1177 | 0.1177 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 28.000 | 11.000 | 4.000 | 0.000 | 4.000 | 7.000 | 7.000 | 7.000 | 3.000 | 0.3929 | 0.5405 | 0.9643 | 0.3929 | 0.1429 | 0.2500 | 0.2500 | 0.1071 |
| season | 0.60 | 47 | - | 145.000 | 41.000 | 9.000 | 1.000 | 7.000 | 21.000 | 21.000 | 18.000 | 25.000 | 0.2828 | 0.3713 | 0.5034 | 0.2828 | 0.0483 | 0.1448 | 0.1241 | 0.1724 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2330 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.2000 |
| predicted_AVG | 0.2981 |
| predicted_BB | 0.4670 |
| predicted_H | 0.9540 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.2370 |
| predicted_OBP | 0.3949 |
| predicted_R | 0.5630 |
| predicted_RBI | 0.4970 |
| predicted_SLG | 0.6012 |
| predicted_SO | 0.5430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.2330 | 0.2080 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0178 | model_form_blend |
| predicted_AB | 3.0850 | 3.2000 | 3.1316 | model_form_blend |
| predicted_AVG | 0.2830 | 0.2981 | 0.2891 | model_form_blend |
| predicted_BB | 0.3830 | 0.4670 | 0.4171 | model_form_blend |
| predicted_H | 0.8720 | 0.9540 | 0.9052 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.1490 | 0.2370 | 0.1847 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3949 | 0.3753 | model_form_blend |
| predicted_R | 0.4470 | 0.5630 | 0.4940 | model_form_blend |
| predicted_RBI | 0.4470 | 0.4970 | 0.4673 | model_form_blend |
| predicted_SLG | 0.5030 | 0.6012 | 0.5428 | model_form_blend |
| predicted_SO | 0.5320 | 0.5430 | 0.5365 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 144 |
| Season rows before report date | 144 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 681508 |
| playerID | 681508 |
| playerName | Mickey Gasper |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.384 |
| sl_xwoba | 0.369 |
| sl_xba | 0.273 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 16.3 |
| sl_swing_percent | 39.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.247 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.660 | 3.000 | 6.000 | Hitting_AB | 3.700 | 4.000 | -0.700 | -1.000 |
| predicted_AVG | 0.208 | 0.333 | 0.167 | Hitting_AVG | 0.196 | 0.000 | 0.137 | 0.333 |
| predicted_BB | 0.420 | 1.000 | 0.000 | Hitting_BB | 0.675 | 0.000 | 0.325 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.180 | 1.000 | 1.000 | Hitting_H | 0.725 | 0.000 | 0.275 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.278 | 0.600 | 0.167 | Hitting_OBP | 0.320 | 0.000 | 0.280 | 0.600 |
| predicted_R | 0.432 | 1.000 | 0.000 | Hitting_R | 0.325 | 0.000 | 0.675 | 1.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.379 | 0.333 | 0.167 | Hitting_SLG | 0.331 | 0.000 | 0.002 | 0.333 |
| predicted_SO | 0.679 | 0.000 | 1.000 | Hitting_SO | 1.150 | 1.000 | -1.150 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4200 -> 1.0000 (boost 0.5800, better) |
| Biggest Deboost | predicted_AB: 5.6600 -> 3.0000 (deboost -2.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 1 | 5 | predicted_AVG: 0.2080 -> 0.2144 (boost 0.0064, better) | predicted_AB: 5.6600 -> 4.8076 (deboost -0.8524, worse) | Final model input calibrated with local 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.3654 -> 0.3361 (deboost -0.0293, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_AB: 4.8076 -> 6.0000 (boost 1.1924, better) | predicted_BB: 0.3566 -> 0.0000 (deboost -0.3566, worse) | AB rounded to 6 (raw=5.66), rates preserved: AVG=0.181 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4363 -> 0.0000 (deboost -0.4363, 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.3361 -> 0.2850 (deboost -0.0511, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.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.2850 -> 0.3361 (boost 0.0511, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668939",
"player_name": "Adley Rutschman",
"position": "C",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.247,
"predicted_3B": 0.012,
"predicted_AB": 5.66,
"predicted_AVG": 0.208,
"predicted_BB": 0.42,
"predicted_H": 1.18,
"predicted_HR": 0.14,
"predicted_OBP": 0.278,
"predicted_R": 0.432,
"predicted_RBI": 0.67,
"predicted_SLG": 0.379,
"predicted_SO": 0.679
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2133,
"predicted_3B": 0.0103,
"predicted_AB": 4.8076,
"predicted_AVG": 0.2144,
"predicted_BB": 0.3561,
"predicted_H": 1.0249,
"predicted_HBP": 0.016,
"predicted_HR": 0.1187,
"predicted_OBP": 0.2763,
"predicted_R": 0.4371,
"predicted_RBI": 0.5796,
"predicted_SLG": 0.3654,
"predicted_SO": 0.688
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.2133,
"delta": -0.0337,
"percent_delta": -0.1364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.66,
"after": 4.8076,
"delta": -0.8524,
"percent_delta": -0.1506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.2144,
"delta": 0.0064,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.3561,
"delta": -0.0639,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.0249,
"delta": -0.1551,
"percent_delta": -0.1314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1187,
"delta": -0.0213,
"percent_delta": -0.1521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2763,
"delta": -0.0017,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.4371,
"delta": 0.0051,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.5796,
"delta": -0.0904,
"percent_delta": -0.1349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3654,
"delta": -0.0136,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.688,
"delta": 0.009,
"percent_delta": 0.0133,
"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_AVG",
"before": 0.208,
"after": 0.2144,
"delta": 0.0064,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.66,
"after": 4.8076,
"delta": -0.8524,
"percent_delta": -0.1506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2133,
"predicted_3B": 0.0103,
"predicted_AB": 4.8076,
"predicted_AVG": 0.2129,
"predicted_BB": 0.3566,
"predicted_H": 1.0237,
"predicted_HBP": 0.016,
"predicted_HR": 0.1194,
"predicted_OBP": 0.2673,
"predicted_R": 0.4363,
"predicted_RBI": 0.5786,
"predicted_SLG": 0.3361,
"predicted_SO": 0.687
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2133,
"after": 0.2133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8076,
"after": 4.8076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2144,
"after": 0.2129,
"delta": -0.0015,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3561,
"after": 0.3566,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0249,
"after": 1.0237,
"delta": -0.0012,
"percent_delta": -0.0012,
"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.1187,
"after": 0.1194,
"delta": 0.0007,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2763,
"after": 0.2673,
"delta": -0.009,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4371,
"after": 0.4363,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5796,
"after": 0.5786,
"delta": -0.001,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3654,
"after": 0.3361,
"delta": -0.0293,
"percent_delta": -0.0802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 0.687,
"delta": -0.001,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3654,
"after": 0.3361,
"delta": -0.0293,
"percent_delta": -0.0802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.66), rates preserved: AVG=0.181 HR/AB=0.021",
"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.2133,
"after": 0.0,
"delta": -0.2133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8076,
"after": 6.0,
"delta": 1.1924,
"percent_delta": 0.248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3566,
"after": 0.0,
"delta": -0.3566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0237,
"after": 1.0,
"delta": -0.0237,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1194,
"after": 0.0,
"delta": -0.1194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5786,
"after": 1.0,
"delta": 0.4214,
"percent_delta": 0.7283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.687,
"after": 1.0,
"delta": 0.313,
"percent_delta": 0.4556,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.8076,
"after": 6.0,
"delta": 1.1924,
"percent_delta": 0.248,
"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": 6.0,
"predicted_BB": 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": 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.4363,
"after": 0.0,
"delta": -0.4363,
"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.4363,
"after": 0.0,
"delta": -0.4363,
"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": 6.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": 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": 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": 6.0,
"predicted_AVG": 0.181,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.236,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.285,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2129,
"after": 0.181,
"delta": -0.0319,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2673,
"after": 0.236,
"delta": -0.0313,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3361,
"after": 0.285,
"delta": -0.0511,
"percent_delta": -0.152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3361,
"after": 0.285,
"delta": -0.0511,
"percent_delta": -0.152,
"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": 1.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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2129,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2673,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3361,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.2129,
"delta": 0.0319,
"percent_delta": 0.1764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.236,
"after": 0.2673,
"delta": 0.0313,
"percent_delta": 0.1325,
"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.285,
"after": 0.3361,
"delta": 0.0511,
"percent_delta": 0.1793,
"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.285,
"after": 0.3361,
"delta": 0.0511,
"percent_delta": 0.1793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.66,
"after": 3.0,
"delta": -2.66,
"percent_delta": -0.47,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.2129,
"delta": 0.0049,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2673,
"delta": -0.0107,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3361,
"delta": -0.0429,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.679,
"after": 0.0,
"delta": -0.679,
"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.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.66,
"after": 3.0,
"delta": -2.66,
"percent_delta": -0.47,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 5.660 | - |
| predicted_AVG | 0.208 | - |
| predicted_BB | 0.420 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.432 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.679 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.034 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.808 | -0.852 |
| predicted_AVG | 0.214 | 0.006 |
| predicted_BB | 0.356 | -0.064 |
| predicted_H | 1.025 | -0.155 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.119 | -0.021 |
| predicted_OBP | 0.276 | -0.002 |
| predicted_R | 0.437 | 0.005 |
| predicted_RBI | 0.580 | -0.090 |
| predicted_SLG | 0.365 | -0.014 |
| predicted_SO | 0.688 | 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.213 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.808 | 0.000 |
| predicted_AVG | 0.213 | -0.002 |
| predicted_BB | 0.357 | 0.000 |
| predicted_H | 1.024 | -0.001 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.119 | 0.001 |
| predicted_OBP | 0.267 | -0.009 |
| predicted_R | 0.436 | -0.001 |
| predicted_RBI | 0.579 | -0.001 |
| predicted_SLG | 0.336 | -0.029 |
| predicted_SO | 0.687 | -0.001 |
AB rounded to 6 (raw=5.66), rates preserved: AVG=0.181 HR/AB=0.021
| 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 | 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 | 6.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.213 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 6.000 | 1.192 |
| predicted_AVG | 0.181 | -0.032 |
| predicted_BB | 0.000 | -0.357 |
| predicted_H | 1.000 | -0.024 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.236 | -0.031 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.285 | -0.051 |
| predicted_SO | 1.000 | 0.313 |
Attached 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 | -3.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 1.000 | 6.000 | 0.2222 | 0.2432 | 0.3333 | 0.2222 | 0.0278 | 0.1111 | 0.0278 | 0.1667 |
| season | 0.60 | 81 | - | 298.000 | 71.000 | 20.000 | 1.000 | 9.000 | 51.000 | 35.000 | 34.000 | 55.000 | 0.2383 | 0.3156 | 0.4027 | 0.2383 | 0.0302 | 0.1711 | 0.1141 | 0.1846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6600 |
| predicted_AVG | 0.2230 |
| predicted_BB | 0.2700 |
| predicted_H | 0.8160 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2741 |
| predicted_R | 0.4440 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.3470 |
| predicted_SO | 0.7000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.1680 | 0.2133 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 5.6600 | 3.6600 | 4.8076 | model_form_blend |
| predicted_AVG | 0.2080 | 0.2230 | 0.2144 | model_form_blend |
| predicted_BB | 0.4200 | 0.2700 | 0.3561 | model_form_blend |
| predicted_H | 1.1800 | 0.8160 | 1.0249 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1400 | 0.0900 | 0.1187 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2741 | 0.2763 | model_form_blend |
| predicted_R | 0.4320 | 0.4440 | 0.4371 | model_form_blend |
| predicted_RBI | 0.6700 | 0.4580 | 0.5796 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3470 | 0.3654 | model_form_blend |
| predicted_SO | 0.6790 | 0.7000 | 0.6880 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260830_BOS@NYY |
| game_type | full |
| mlbID | 668939 |
| playerID | 668939 |
| playerName | Adley Rutschman |
| pos | C |
| started | True |
| startingPosition | C |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-30 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.338 |
| sl_xba | 0.262 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 40.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.109 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 4.100 | 4.000 | 4.000 | Hitting_AB | 3.952 | 4.000 | 0.048 | 0.000 |
| predicted_AVG | 0.189 | 0.000 | 0.250 | Hitting_AVG | 0.203 | 0.000 | -0.203 | 0.000 |
| predicted_BB | 0.271 | 0.000 | 0.000 | Hitting_BB | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.803 | 0.000 | -0.803 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.227 | 0.000 | 0.250 | Hitting_OBP | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_R | 0.465 | 0.000 | 0.000 | Hitting_R | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.508 | 0.000 | -0.508 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.250 | Hitting_SLG | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_SO | 1.140 | 1.000 | 1.000 | Hitting_SO | 1.199 | 0.000 | -0.199 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_OBP: 0.2270 -> 0.2365 (boost 0.0095, better) |
| Biggest Deboost | predicted_H: 0.7800 -> 0.0000 (deboost -0.7800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 4.1000 -> 3.9119 (deboost -0.1881, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2300 -> 0.2365 (boost 0.0065, 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 | 2 | 4 | predicted_H: 0.7343 -> 1.0000 (boost 0.2657, better) | predicted_RBI: 0.5013 -> 0.0000 (deboost -0.5013, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.179 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4281 -> 0.0000 (deboost -0.4281, 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 | 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3420 -> 0.3581 (boost 0.0161, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680776",
"player_name": "Jarren Duran",
"position": "LF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.109,
"predicted_3B": 0.023,
"predicted_AB": 4.1,
"predicted_AVG": 0.189,
"predicted_BB": 0.271,
"predicted_H": 0.78,
"predicted_HR": 0.18,
"predicted_OBP": 0.227,
"predicted_R": 0.465,
"predicted_RBI": 0.51,
"predicted_SLG": 0.351,
"predicted_SO": 1.14
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1007,
"predicted_3B": 0.0191,
"predicted_AB": 3.9119,
"predicted_AVG": 0.1871,
"predicted_BB": 0.2497,
"predicted_H": 0.7352,
"predicted_HBP": 0.023,
"predicted_HR": 0.1748,
"predicted_OBP": 0.23,
"predicted_R": 0.4289,
"predicted_RBI": 0.5022,
"predicted_SLG": 0.3523,
"predicted_SO": 1.0066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.109,
"after": 0.1007,
"delta": -0.0083,
"percent_delta": -0.0761,
"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": 4.1,
"after": 3.9119,
"delta": -0.1881,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.1871,
"delta": -0.0019,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.2497,
"delta": -0.0213,
"percent_delta": -0.0786,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7352,
"delta": -0.0448,
"percent_delta": -0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1748,
"delta": -0.0052,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.227,
"after": 0.23,
"delta": 0.003,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.4289,
"delta": -0.0361,
"percent_delta": -0.0776,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5022,
"delta": -0.0078,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3523,
"delta": 0.0013,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.14,
"after": 1.0066,
"delta": -0.1334,
"percent_delta": -0.117,
"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.1,
"after": 3.9119,
"delta": -0.1881,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1007,
"predicted_3B": 0.0191,
"predicted_AB": 3.9119,
"predicted_AVG": 0.1877,
"predicted_BB": 0.25,
"predicted_H": 0.7343,
"predicted_HBP": 0.023,
"predicted_HR": 0.1758,
"predicted_OBP": 0.2365,
"predicted_R": 0.4281,
"predicted_RBI": 0.5013,
"predicted_SLG": 0.3581,
"predicted_SO": 1.0052
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1007,
"after": 0.1007,
"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.9119,
"after": 3.9119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1871,
"after": 0.1877,
"delta": 0.0006,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2497,
"after": 0.25,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7352,
"after": 0.7343,
"delta": -0.0009,
"percent_delta": -0.0012,
"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.1748,
"after": 0.1758,
"delta": 0.001,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.23,
"after": 0.2365,
"delta": 0.0065,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4289,
"after": 0.4281,
"delta": -0.0008,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5022,
"after": 0.5013,
"delta": -0.0009,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3523,
"after": 0.3581,
"delta": 0.0058,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0066,
"after": 1.0052,
"delta": -0.0014,
"percent_delta": -0.0014,
"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.23,
"after": 0.2365,
"delta": 0.0065,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.179 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1007,
"after": 0.0,
"delta": -0.1007,
"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.9119,
"after": 4.0,
"delta": 0.0881,
"percent_delta": 0.0225,
"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.7343,
"after": 1.0,
"delta": 0.2657,
"percent_delta": 0.3618,
"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.1758,
"after": 0.0,
"delta": -0.1758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5013,
"after": 0.0,
"delta": -0.5013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0052,
"after": 1.0,
"delta": -0.0052,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7343,
"after": 1.0,
"delta": 0.2657,
"percent_delta": 0.3618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5013,
"after": 0.0,
"delta": -0.5013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4281,
"after": 0.0,
"delta": -0.4281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4281,
"after": 0.0,
"delta": -0.4281,
"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": 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.179,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.233,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1877,
"after": 0.179,
"delta": -0.0087,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2365,
"after": 0.233,
"delta": -0.0035,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3581,
"after": 0.342,
"delta": -0.0161,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1877,
"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.2365,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3581,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1877,
"delta": 0.0087,
"percent_delta": 0.0487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.233,
"after": 0.2365,
"delta": 0.0035,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3581,
"delta": 0.0161,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.3581,
"delta": 0.0161,
"percent_delta": 0.047,
"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.109,
"after": 0.0,
"delta": -0.109,
"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": 4.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.1877,
"delta": -0.0013,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"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.227,
"after": 0.2365,
"delta": 0.0095,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3581,
"delta": 0.0071,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"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_OBP",
"before": 0.227,
"after": 0.2365,
"delta": 0.0095,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.189 | - |
| predicted_BB | 0.271 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.227 | - |
| predicted_R | 0.465 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 1.140 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | -0.008 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.912 | -0.188 |
| predicted_AVG | 0.187 | -0.002 |
| predicted_BB | 0.250 | -0.021 |
| predicted_H | 0.735 | -0.045 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.175 | -0.005 |
| predicted_OBP | 0.230 | 0.003 |
| predicted_R | 0.429 | -0.036 |
| predicted_RBI | 0.502 | -0.008 |
| predicted_SLG | 0.352 | 0.001 |
| predicted_SO | 1.007 | -0.133 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.912 | 0.000 |
| predicted_AVG | 0.188 | 0.001 |
| predicted_BB | 0.250 | 0.000 |
| predicted_H | 0.734 | -0.001 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.176 | 0.001 |
| predicted_OBP | 0.236 | 0.006 |
| predicted_R | 0.428 | -0.001 |
| predicted_RBI | 0.501 | -0.001 |
| predicted_SLG | 0.358 | 0.006 |
| predicted_SO | 1.005 | -0.001 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.179 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.101 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.088 |
| predicted_AVG | 0.179 | -0.009 |
| predicted_BB | 0.000 | -0.250 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.176 |
| predicted_OBP | 0.233 | -0.003 |
| predicted_R | 0.000 | -0.428 |
| predicted_RBI | 0.000 | -0.501 |
| predicted_SLG | 0.342 | -0.016 |
| predicted_SO | 1.000 | -0.005 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.1111 | 0.1579 | 0.2778 | 0.1111 | 0.0556 | 0.1111 | 0.0556 | 0.0556 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 1.000 | 0.000 | 2.000 | 6.000 | 3.000 | 1.000 | 6.000 | 0.1818 | 0.2059 | 0.3939 | 0.1818 | 0.0606 | 0.1818 | 0.0303 | 0.1818 |
| season | 0.60 | 129 | - | 490.000 | 100.000 | 14.000 | 3.000 | 19.000 | 62.000 | 60.000 | 35.000 | 147.000 | 0.2041 | 0.2617 | 0.3612 | 0.2041 | 0.0388 | 0.1265 | 0.0714 | 0.3000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.6670 |
| predicted_AVG | 0.1846 |
| predicted_BB | 0.2220 |
| predicted_H | 0.6770 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.2338 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.3541 |
| predicted_SO | 0.8330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1090 | 0.0900 | 0.1007 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 4.1000 | 3.6670 | 3.9119 | model_form_blend |
| predicted_AVG | 0.1890 | 0.1846 | 0.1871 | model_form_blend |
| predicted_BB | 0.2710 | 0.2220 | 0.2497 | model_form_blend |
| predicted_H | 0.7800 | 0.6770 | 0.7352 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1800 | 0.1680 | 0.1748 | model_form_blend |
| predicted_OBP | 0.2270 | 0.2338 | 0.2300 | model_form_blend |
| predicted_R | 0.4650 | 0.3820 | 0.4289 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4920 | 0.5022 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3541 | 0.3523 | model_form_blend |
| predicted_SO | 1.1400 | 0.8330 | 1.0066 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 518 |
| Season rows before report date | 518 |
| Report year | 2026 |
| Profile rows used | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 680776 |
| playerID | 680776 |
| playerName | Jarren Duran |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.272 |
| sl_xwoba | 0.3 |
| sl_xba | 0.237 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 50.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.123 | 0.000 | 0.000 | Hitting_2B | 0.057 | 1.000 | -0.057 | -1.000 |
| predicted_3B | 0.015 | 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.514 | 1.000 | 1.486 | 3.000 |
| predicted_AVG | 0.235 | 0.000 | 0.000 | Hitting_AVG | 0.273 | 1.000 | -0.273 | -1.000 |
| predicted_BB | 0.139 | 0.000 | 0.000 | Hitting_BB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_H | 0.586 | 0.000 | 0.000 | Hitting_H | 0.686 | 1.000 | -0.686 | -1.000 |
| predicted_HR | 0.077 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.000 | Hitting_OBP | 0.319 | 1.000 | -0.319 | -1.000 |
| predicted_R | 0.324 | 0.000 | 0.000 | Hitting_R | 0.514 | 0.000 | -0.514 | 0.000 |
| predicted_RBI | 0.355 | 0.000 | 1.000 | Hitting_RBI | 0.343 | 1.000 | -0.343 | -1.000 |
| predicted_SLG | 0.389 | 0.000 | 0.000 | Hitting_SLG | 0.295 | 2.000 | -0.295 | -2.000 |
| predicted_SO | 0.602 | 2.000 | 1.000 | Hitting_SO | 0.743 | 0.000 | 1.257 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_H: 0.5860 -> 0.0000 (deboost -0.5860, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_OBP: 0.2750 -> 0.2878 (boost 0.0128, better) | predicted_AB: 2.5000 -> 2.4431 (deboost -0.0569, worse) | Final model input calibrated with local 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: 2.4431 -> 3.0000 (boost 0.5569, better) | predicted_RBI: 0.3950 -> 0.0000 (deboost -0.3950, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.238 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2914 -> 0.0000 (deboost -0.2914, 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 | 1 | 3 | 1 | 3 | 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_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 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3900 -> 0.3993 (boost 0.0093, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642201",
"player_name": "Eli White",
"position": "CF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.015,
"predicted_AB": 2.5,
"predicted_AVG": 0.235,
"predicted_BB": 0.139,
"predicted_H": 0.586,
"predicted_HR": 0.077,
"predicted_OBP": 0.275,
"predicted_R": 0.324,
"predicted_RBI": 0.355,
"predicted_SLG": 0.389,
"predicted_SO": 0.602
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1576,
"predicted_3B": 0.0126,
"predicted_AB": 2.4431,
"predicted_AVG": 0.2445,
"predicted_BB": 0.1463,
"predicted_H": 0.5954,
"predicted_HBP": 0.01,
"predicted_HR": 0.0656,
"predicted_OBP": 0.2878,
"predicted_R": 0.2919,
"predicted_RBI": 0.3957,
"predicted_SLG": 0.4002,
"predicted_SO": 0.5593
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1576,
"delta": 0.0346,
"percent_delta": 0.2813,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0126,
"delta": -0.0024,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.4431,
"delta": -0.0569,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2445,
"delta": 0.0095,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.139,
"after": 0.1463,
"delta": 0.0073,
"percent_delta": 0.0525,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.586,
"after": 0.5954,
"delta": 0.0094,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.077,
"after": 0.0656,
"delta": -0.0114,
"percent_delta": -0.1481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2878,
"delta": 0.0128,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 0.2919,
"delta": -0.0321,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.355,
"after": 0.3957,
"delta": 0.0407,
"percent_delta": 0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.4002,
"delta": 0.0112,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.602,
"after": 0.5593,
"delta": -0.0427,
"percent_delta": -0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2878,
"delta": 0.0128,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.4431,
"delta": -0.0569,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1576,
"predicted_3B": 0.0126,
"predicted_AB": 2.4431,
"predicted_AVG": 0.2434,
"predicted_BB": 0.1465,
"predicted_H": 0.5947,
"predicted_HBP": 0.01,
"predicted_HR": 0.066,
"predicted_OBP": 0.2862,
"predicted_R": 0.2914,
"predicted_RBI": 0.395,
"predicted_SLG": 0.3993,
"predicted_SO": 0.5585
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1576,
"after": 0.1576,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0126,
"after": 0.0126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.4431,
"after": 2.4431,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.2434,
"delta": -0.0011,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1463,
"after": 0.1465,
"delta": 0.0002,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5954,
"after": 0.5947,
"delta": -0.0007,
"percent_delta": -0.0012,
"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.0656,
"after": 0.066,
"delta": 0.0004,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2878,
"after": 0.2862,
"delta": -0.0016,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2919,
"after": 0.2914,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3957,
"after": 0.395,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4002,
"after": 0.3993,
"delta": -0.0009,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5593,
"after": 0.5585,
"delta": -0.0008,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.238 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.1576,
"after": 0.0,
"delta": -0.1576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0126,
"after": 0.0,
"delta": -0.0126,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.4431,
"after": 3.0,
"delta": 0.5569,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1465,
"after": 0.0,
"delta": -0.1465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"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.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5585,
"after": 1.0,
"delta": 0.4415,
"percent_delta": 0.7905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.4431,
"after": 3.0,
"delta": 0.5569,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2914,
"after": 0.0,
"delta": -0.2914,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2914,
"after": 0.0,
"delta": -0.2914,
"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.238,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.39,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2434,
"after": 0.238,
"delta": -0.0054,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2862,
"after": 0.286,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.3993,
"after": 0.39,
"delta": -0.0093,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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": 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": 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.2434,
"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.2862,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3993,
"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.238,
"after": 0.2434,
"delta": 0.0054,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2862,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3993,
"delta": 0.0093,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3993,
"delta": 0.0093,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2434,
"delta": 0.0084,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.139,
"after": 0.0,
"delta": -0.139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.586,
"after": 0.0,
"delta": -0.586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2862,
"delta": 0.0112,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3993,
"delta": 0.0103,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.602,
"after": 2.0,
"delta": 1.398,
"percent_delta": 2.3223,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.586,
"after": 0.0,
"delta": -0.586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.139 | - |
| predicted_H | 0.586 | - |
| predicted_HR | 0.077 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.324 | - |
| predicted_RBI | 0.355 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 0.602 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.158 | 0.035 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.443 | -0.057 |
| predicted_AVG | 0.244 | 0.010 |
| predicted_BB | 0.146 | 0.007 |
| predicted_H | 0.595 | 0.009 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.066 | -0.011 |
| predicted_OBP | 0.288 | 0.013 |
| predicted_R | 0.292 | -0.032 |
| predicted_RBI | 0.396 | 0.041 |
| predicted_SLG | 0.400 | 0.011 |
| predicted_SO | 0.559 | -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.158 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.443 | 0.000 |
| predicted_AVG | 0.243 | -0.001 |
| predicted_BB | 0.146 | 0.000 |
| predicted_H | 0.595 | -0.001 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.066 | 0.000 |
| predicted_OBP | 0.286 | -0.002 |
| predicted_R | 0.291 | -0.001 |
| predicted_RBI | 0.395 | -0.001 |
| predicted_SLG | 0.399 | -0.001 |
| predicted_SO | 0.558 | -0.001 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.238 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 | 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.158 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.557 |
| predicted_AVG | 0.238 | -0.005 |
| predicted_BB | 0.000 | -0.146 |
| predicted_H | 1.000 | 0.405 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.286 | -0.000 |
| predicted_R | 0.000 | -0.291 |
| predicted_RBI | 0.000 | -0.395 |
| predicted_SLG | 0.390 | -0.009 |
| predicted_SO | 1.000 | 0.442 |
Attached simulation box 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 | -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 | - | 9.000 | 3.000 | 2.000 | 0.000 | 0.000 | 3.000 | 0.000 | 1.000 | 1.000 | 0.3333 | 0.4000 | 0.5556 | 0.3333 | 0.0000 | 0.3333 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 5.000 | 2.000 | 1.000 | 4.000 | 0.2632 | 0.3000 | 0.3684 | 0.2632 | 0.0000 | 0.2632 | 0.0526 | 0.2105 |
| season | 0.60 | 71 | - | 162.000 | 38.000 | 8.000 | 1.000 | 5.000 | 23.000 | 21.000 | 9.000 | 39.000 | 0.2346 | 0.2775 | 0.3889 | 0.2346 | 0.0309 | 0.1420 | 0.0556 | 0.2407 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2080 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.3600 |
| predicted_AVG | 0.2583 |
| predicted_BB | 0.1570 |
| predicted_H | 0.6090 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0490 |
| predicted_OBP | 0.3064 |
| predicted_R | 0.2450 |
| predicted_RBI | 0.4550 |
| predicted_SLG | 0.4165 |
| predicted_SO | 0.4970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.2080 | 0.1576 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0126 | model_form_blend |
| predicted_AB | 2.5000 | 2.3600 | 2.4431 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2583 | 0.2445 | model_form_blend |
| predicted_BB | 0.1390 | 0.1570 | 0.1463 | model_form_blend |
| predicted_H | 0.5860 | 0.6090 | 0.5954 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0770 | 0.0490 | 0.0656 | model_form_blend |
| predicted_OBP | 0.2750 | 0.3064 | 0.2878 | model_form_blend |
| predicted_R | 0.3240 | 0.2450 | 0.2919 | model_form_blend |
| predicted_RBI | 0.3550 | 0.4550 | 0.3957 | model_form_blend |
| predicted_SLG | 0.3890 | 0.4165 | 0.4002 | model_form_blend |
| predicted_SO | 0.6020 | 0.4970 | 0.5593 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_SEA@BOS |
| game_type | short |
| mlbID | 642201 |
| playerID | 642201 |
| playerName | Eli White |
| pos | RF |
| started | False |
| startingPosition | CF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.297 |
| sl_xwoba | 0.268 |
| sl_xba | 0.223 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 30.5 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 52.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.095 | 0.000 | 0.000 | Hitting_2B | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.881 | 4.000 | 3.000 | Hitting_AB | 3.116 | 2.000 | 0.884 | 2.000 |
| predicted_AVG | 0.273 | 0.000 | 0.333 | Hitting_AVG | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.341 | 0.000 | -0.341 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.786 | 0.000 | 1.000 | Hitting_H | 0.906 | 0.000 | -0.906 | 0.000 |
| predicted_HR | 0.048 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.333 | Hitting_OBP | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_R | 0.452 | 0.000 | 0.000 | Hitting_R | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.333 | Hitting_SLG | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_SO | 0.429 | 1.000 | 0.000 | Hitting_SO | 0.449 | 0.000 | 0.551 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.8810 -> 4.0000 (boost 1.1190, better) |
| Biggest Deboost | predicted_H: 0.7860 -> 0.0000 (deboost -0.7860, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.8810 -> 2.9701 (boost 0.0891, 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 | 1 | 5 | 2 | 4 | predicted_H: 0.8060 -> 1.0000 (boost 0.1940, better) | predicted_SO: 0.4446 -> 0.0000 (deboost -0.4446, better) | AB rounded to 3 (raw=2.97), rates preserved: AVG=0.271 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4488 -> 0.0000 (deboost -0.4488, 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.3714 -> 0.3790 (boost 0.0076, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3790 -> 0.3714 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"position": "SS",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0,
"predicted_AB": 2.881,
"predicted_AVG": 0.273,
"predicted_BB": 0.286,
"predicted_H": 0.786,
"predicted_HR": 0.048,
"predicted_OBP": 0.338,
"predicted_R": 0.452,
"predicted_RBI": 0.31,
"predicted_SLG": 0.355,
"predicted_SO": 0.429
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0946,
"predicted_3B": 0.0008,
"predicted_AB": 2.9701,
"predicted_AVG": 0.2719,
"predicted_BB": 0.3011,
"predicted_H": 0.807,
"predicted_HBP": 0.005,
"predicted_HR": 0.0666,
"predicted_OBP": 0.3388,
"predicted_R": 0.4496,
"predicted_RBI": 0.3005,
"predicted_SLG": 0.3703,
"predicted_SO": 0.4452
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0946,
"delta": -0.0004,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.881,
"after": 2.9701,
"delta": 0.0891,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2719,
"delta": -0.0011,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.3011,
"delta": 0.0151,
"percent_delta": 0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.786,
"after": 0.807,
"delta": 0.021,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.048,
"after": 0.0666,
"delta": 0.0186,
"percent_delta": 0.3875,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3388,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.4496,
"delta": -0.0024,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3005,
"delta": -0.0095,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3703,
"delta": 0.0153,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.4452,
"delta": 0.0162,
"percent_delta": 0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.881,
"after": 2.9701,
"delta": 0.0891,
"percent_delta": 0.0309,
"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": 42
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0946,
"predicted_3B": 0.0008,
"predicted_AB": 2.9701,
"predicted_AVG": 0.2714,
"predicted_BB": 0.3015,
"predicted_H": 0.806,
"predicted_HBP": 0.005,
"predicted_HR": 0.067,
"predicted_OBP": 0.3385,
"predicted_R": 0.4488,
"predicted_RBI": 0.3,
"predicted_SLG": 0.3714,
"predicted_SO": 0.4446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0946,
"after": 0.0946,
"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.9701,
"after": 2.9701,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2719,
"after": 0.2714,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3011,
"after": 0.3015,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.807,
"after": 0.806,
"delta": -0.001,
"percent_delta": -0.0012,
"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.0666,
"after": 0.067,
"delta": 0.0004,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3388,
"after": 0.3385,
"delta": -0.0003,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4496,
"after": 0.4488,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3005,
"after": 0.3,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3703,
"after": 0.3714,
"delta": 0.0011,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4452,
"after": 0.4446,
"delta": -0.0006,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.97), rates preserved: AVG=0.271 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0946,
"after": 0.0,
"delta": -0.0946,
"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.9701,
"after": 3.0,
"delta": 0.0299,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3015,
"after": 0.0,
"delta": -0.3015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.806,
"after": 1.0,
"delta": 0.194,
"percent_delta": 0.2407,
"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.067,
"after": 0.0,
"delta": -0.067,
"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_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.806,
"after": 1.0,
"delta": 0.194,
"percent_delta": 0.2407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4488,
"after": 0.0,
"delta": -0.4488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4488,
"after": 0.0,
"delta": -0.4488,
"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": 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": 3.0,
"predicted_AVG": 0.271,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.344,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.379,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2714,
"after": 0.271,
"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.3385,
"after": 0.344,
"delta": 0.0055,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3714,
"after": 0.379,
"delta": 0.0076,
"percent_delta": 0.0205,
"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.3714,
"after": 0.379,
"delta": 0.0076,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2714,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3385,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3714,
"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.271,
"after": 0.2714,
"delta": 0.0004,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3385,
"delta": -0.0055,
"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.379,
"after": 0.3714,
"delta": -0.0076,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.379,
"after": 0.3714,
"delta": -0.0076,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.881,
"after": 4.0,
"delta": 1.119,
"percent_delta": 0.3884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2714,
"delta": -0.0016,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.786,
"after": 0.0,
"delta": -0.786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3385,
"delta": 0.0005,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3714,
"delta": 0.0164,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"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": 2.881,
"after": 4.0,
"delta": 1.119,
"percent_delta": 0.3884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.786,
"after": 0.0,
"delta": -0.786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.881 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.786 | - |
| predicted_HR | 0.048 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.429 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | -0.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.970 | 0.089 |
| predicted_AVG | 0.272 | -0.001 |
| predicted_BB | 0.301 | 0.015 |
| predicted_H | 0.807 | 0.021 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.067 | 0.019 |
| predicted_OBP | 0.339 | 0.001 |
| predicted_R | 0.450 | -0.002 |
| predicted_RBI | 0.300 | -0.010 |
| predicted_SLG | 0.370 | 0.015 |
| predicted_SO | 0.445 | 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.095 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.970 | 0.000 |
| predicted_AVG | 0.271 | -0.001 |
| predicted_BB | 0.301 | 0.000 |
| predicted_H | 0.806 | -0.001 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.067 | 0.000 |
| predicted_OBP | 0.339 | -0.000 |
| predicted_R | 0.449 | -0.001 |
| predicted_RBI | 0.300 | -0.001 |
| predicted_SLG | 0.371 | 0.001 |
| predicted_SO | 0.445 | -0.001 |
AB rounded to 3 (raw=2.97), rates preserved: AVG=0.271 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.095 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.030 |
| predicted_AVG | 0.271 | -0.000 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.194 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.344 | 0.005 |
| predicted_R | 0.000 | -0.449 |
| predicted_RBI | 0.000 | -0.300 |
| predicted_SLG | 0.379 | 0.008 |
| predicted_SO | 0.000 | -0.445 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 2.000 | 0.2667 | 0.3529 | 0.4667 | 0.2667 | 0.0667 | 0.0667 | 0.1333 | 0.1333 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 1.000 | 0.000 | 1.000 | 1.000 | 6.000 | 4.000 | 3.000 | 0.2903 | 0.3714 | 0.4194 | 0.2903 | 0.0323 | 0.0323 | 0.1290 | 0.0968 |
| season | 0.60 | 42 | - | 121.000 | 33.000 | 4.000 | 0.000 | 2.000 | 13.000 | 19.000 | 12.000 | 18.000 | 0.2727 | 0.3383 | 0.3554 | 0.2727 | 0.0165 | 0.1074 | 0.0992 | 0.1488 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1060 |
| predicted_AVG | 0.2701 |
| predicted_BB | 0.3240 |
| predicted_H | 0.8390 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3401 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.2860 |
| predicted_SLG | 0.3936 |
| predicted_SO | 0.4700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.0940 | 0.0946 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8810 | 3.1060 | 2.9701 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2701 | 0.2719 | model_form_blend |
| predicted_BB | 0.2860 | 0.3240 | 0.3011 | model_form_blend |
| predicted_H | 0.7860 | 0.8390 | 0.8070 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0480 | 0.0950 | 0.0666 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3401 | 0.3388 | model_form_blend |
| predicted_R | 0.4520 | 0.4460 | 0.4496 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2860 | 0.3005 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3936 | 0.3703 | model_form_blend |
| predicted_SO | 0.4290 | 0.4700 | 0.4452 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 138 |
| Season rows before report date | 138 |
| Report year | 2026 |
| Profile rows used | 42 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 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 | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260901_SEA@BOS |
| game_type | short |
| mlbID | 643396 |
| playerID | 643396 |
| playerName | Isiah Kiner-Falefa |
| pos | 2B |
| started | False |
| startingPosition | 2B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-01 |
| sl_k_percent | 13.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.313 |
| sl_xwoba | 0.309 |
| sl_xba | 0.275 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 26.0 |
| sl_exit_velocity_avg | 82.1 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 1.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.682 | 4.000 | 4.000 | Hitting_AB | 3.718 | 4.000 | 0.282 | 0.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.274 | 0.000 | -0.024 | 0.250 |
| predicted_BB | 0.568 | 0.000 | 1.000 | Hitting_BB | 0.658 | 0.000 | -0.658 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 1.020 | 0.000 | -0.020 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | 0.953 | 1.000 |
| predicted_OBP | 0.302 | 0.250 | 0.400 | Hitting_OBP | 0.381 | 0.000 | -0.131 | 0.250 |
| predicted_R | 0.545 | 1.000 | 1.000 | Hitting_R | 0.617 | 0.000 | 0.383 | 1.000 |
| predicted_RBI | 0.350 | 4.000 | 0.000 | Hitting_RBI | 0.242 | 0.000 | 3.758 | 4.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.400 | 1.000 | 0.500 | Hitting_SLG | 0.390 | 0.000 | 0.610 | 1.000 |
| predicted_SO | 0.818 | 0.000 | 1.000 | Hitting_SO | 0.765 | 1.000 | -0.765 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.3500 -> 4.0000 (boost 3.6500, better) |
| Biggest Deboost | predicted_SO: 0.8180 -> 0.0000 (deboost -0.8180, 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.3020 -> 0.3073 (boost 0.0053, better) | predicted_BB: 0.5680 -> 0.4791 (deboost -0.0889, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3073 -> 0.3370 (boost 0.0297, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.4798 -> 1.0000 (boost 0.5202, better) | predicted_RBI: 0.3523 -> 0.0000 (deboost -0.3523, worse) | AB rounded to 4 (raw=3.71), rates preserved: AVG=0.251 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5362 -> 1.0000 (boost 0.4638, 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 | 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 | 4 | 2 | 2 | 3 | 1 | predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better) | 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": "686765",
"player_name": "Nick Sogard",
"position": "2B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.023,
"predicted_AB": 3.682,
"predicted_AVG": 0.25,
"predicted_BB": 0.568,
"predicted_H": 0.92,
"predicted_HR": 0.09,
"predicted_OBP": 0.302,
"predicted_R": 0.545,
"predicted_RBI": 0.35,
"predicted_SLG": 0.4,
"predicted_SO": 0.818
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2393,
"predicted_3B": 0.0193,
"predicted_AB": 3.7054,
"predicted_AVG": 0.2516,
"predicted_BB": 0.4791,
"predicted_H": 0.9319,
"predicted_HBP": 0.004,
"predicted_HR": 0.0966,
"predicted_OBP": 0.3073,
"predicted_R": 0.5372,
"predicted_RBI": 0.3529,
"predicted_SLG": 0.4024,
"predicted_SO": 0.852
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2393,
"delta": -0.0107,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0193,
"delta": -0.0037,
"percent_delta": -0.1609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.682,
"after": 3.7054,
"delta": 0.0234,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2516,
"delta": 0.0016,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.4791,
"delta": -0.0889,
"percent_delta": -0.1565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9319,
"delta": 0.0119,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0966,
"delta": 0.0066,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3073,
"delta": 0.0053,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 0.5372,
"delta": -0.0078,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3529,
"delta": 0.0029,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4024,
"delta": 0.0024,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.852,
"delta": 0.034,
"percent_delta": 0.0416,
"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.302,
"after": 0.3073,
"delta": 0.0053,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.568,
"after": 0.4791,
"delta": -0.0889,
"percent_delta": -0.1565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2393,
"predicted_3B": 0.0193,
"predicted_AB": 3.7054,
"predicted_AVG": 0.2512,
"predicted_BB": 0.4798,
"predicted_H": 0.9308,
"predicted_HBP": 0.004,
"predicted_HR": 0.0972,
"predicted_OBP": 0.337,
"predicted_R": 0.5362,
"predicted_RBI": 0.3523,
"predicted_SLG": 0.4049,
"predicted_SO": 0.8508
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2393,
"after": 0.2393,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7054,
"after": 3.7054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2516,
"after": 0.2512,
"delta": -0.0004,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4791,
"after": 0.4798,
"delta": 0.0007,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9319,
"after": 0.9308,
"delta": -0.0011,
"percent_delta": -0.0012,
"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.0966,
"after": 0.0972,
"delta": 0.0006,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3073,
"after": 0.337,
"delta": 0.0297,
"percent_delta": 0.0966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5372,
"after": 0.5362,
"delta": -0.001,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3529,
"after": 0.3523,
"delta": -0.0006,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4024,
"after": 0.4049,
"delta": 0.0025,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.8508,
"delta": -0.0012,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3073,
"after": 0.337,
"delta": 0.0297,
"percent_delta": 0.0966,
"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.71), rates preserved: AVG=0.251 HR/AB=0.026",
"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.2393,
"after": 0.0,
"delta": -0.2393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0193,
"after": 0.0,
"delta": -0.0193,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7054,
"after": 4.0,
"delta": 0.2946,
"percent_delta": 0.0795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4798,
"after": 1.0,
"delta": 0.5202,
"percent_delta": 1.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9308,
"after": 1.0,
"delta": 0.0692,
"percent_delta": 0.0743,
"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.0972,
"after": 0.0,
"delta": -0.0972,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3523,
"after": 0.0,
"delta": -0.3523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8508,
"after": 1.0,
"delta": 0.1492,
"percent_delta": 0.1754,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4798,
"after": 1.0,
"delta": 0.5202,
"percent_delta": 1.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3523,
"after": 0.0,
"delta": -0.3523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5362,
"after": 1.0,
"delta": 0.4638,
"percent_delta": 0.865,
"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.5362,
"after": 1.0,
"delta": 0.4638,
"percent_delta": 0.865,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_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.251,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.342,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.405,
"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.2512,
"after": 0.251,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.342,
"delta": 0.005,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.405,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 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_RBI",
"before": 0.0,
"after": 4.0,
"delta": 4.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2512,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.337,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4049,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2512,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.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": 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.405,
"after": 0.4049,
"delta": -0.0001,
"percent_delta": -0.0003,
"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.25,
"after": 0.0,
"delta": -0.25,
"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.682,
"after": 4.0,
"delta": 0.318,
"percent_delta": 0.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2512,
"delta": 0.0012,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.568,
"after": 0.0,
"delta": -0.568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.337,
"delta": 0.035,
"percent_delta": 0.1159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 4.0,
"delta": 3.65,
"percent_delta": 10.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4049,
"delta": 0.0049,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.0,
"delta": -0.818,
"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_RBI",
"before": 0.35,
"after": 4.0,
"delta": 3.65,
"percent_delta": 10.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.818,
"after": 0.0,
"delta": -0.818,
"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.023 | - |
| predicted_AB | 3.682 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.568 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.545 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.818 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | -0.011 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.705 | 0.023 |
| predicted_AVG | 0.252 | 0.002 |
| predicted_BB | 0.479 | -0.089 |
| predicted_H | 0.932 | 0.012 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.097 | 0.007 |
| predicted_OBP | 0.307 | 0.005 |
| predicted_R | 0.537 | -0.008 |
| predicted_RBI | 0.353 | 0.003 |
| predicted_SLG | 0.402 | 0.002 |
| predicted_SO | 0.852 | 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.239 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.705 | 0.000 |
| predicted_AVG | 0.251 | -0.000 |
| predicted_BB | 0.480 | 0.001 |
| predicted_H | 0.931 | -0.001 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.097 | 0.001 |
| predicted_OBP | 0.337 | 0.030 |
| predicted_R | 0.536 | -0.001 |
| predicted_RBI | 0.352 | -0.001 |
| predicted_SLG | 0.405 | 0.003 |
| predicted_SO | 0.851 | -0.001 |
AB rounded to 4 (raw=3.71), rates preserved: AVG=0.251 HR/AB=0.026
| 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 | 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 | 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.239 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.295 |
| predicted_AVG | 0.251 | -0.000 |
| predicted_BB | 1.000 | 0.520 |
| predicted_H | 1.000 | 0.069 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.342 | 0.005 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 0.000 | -0.352 |
| predicted_SLG | 0.405 | 0.000 |
| predicted_SO | 1.000 | 0.149 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 4.000 | 4.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 | 2.000 | 3.000 | 0.000 | 5.000 | 0.2778 | 0.2778 | 0.5000 | 0.2778 | 0.0556 | 0.1111 | 0.0000 | 0.2778 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 11.000 | 0.2000 | 0.2195 | 0.3250 | 0.2000 | 0.0250 | 0.1000 | 0.0250 | 0.2750 |
| season | 0.60 | 44 | - | 162.000 | 43.000 | 11.000 | 1.000 | 3.000 | 13.000 | 24.000 | 25.000 | 36.000 | 0.2654 | 0.3617 | 0.4012 | 0.2654 | 0.0185 | 0.0803 | 0.1543 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7390 |
| predicted_AVG | 0.2539 |
| predicted_BB | 0.3510 |
| predicted_H | 0.9490 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3150 |
| predicted_R | 0.5260 |
| predicted_RBI | 0.3570 |
| predicted_SLG | 0.4059 |
| predicted_SO | 0.9010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2240 | 0.2393 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0193 | model_form_blend |
| predicted_AB | 3.6820 | 3.7390 | 3.7054 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2539 | 0.2516 | model_form_blend |
| predicted_BB | 0.5680 | 0.3510 | 0.4791 | model_form_blend |
| predicted_H | 0.9200 | 0.9490 | 0.9319 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0900 | 0.1060 | 0.0966 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3150 | 0.3073 | model_form_blend |
| predicted_R | 0.5450 | 0.5260 | 0.5372 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3570 | 0.3529 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4059 | 0.4024 | model_form_blend |
| predicted_SO | 0.8180 | 0.9010 | 0.8520 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 149 |
| Season rows before report date | 149 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 4 |
| 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 | 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 | 2B |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 686765 |
| playerID | 686765 |
| playerName | Nick Sogard |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.341 |
| sl_xwoba | 0.319 |
| sl_xba | 0.253 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 29.0 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 39.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.600 | 3.000 | 4.000 | Hitting_AB | 3.570 | 3.000 | -0.570 | 0.000 |
| predicted_AVG | 0.223 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.333 | -0.260 | -0.333 |
| predicted_BB | 0.312 | 1.000 | 1.000 | Hitting_BB | 0.327 | 1.000 | 0.673 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.929 | 1.000 | -0.929 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.306 | 0.250 | 0.400 | Hitting_OBP | 0.332 | 0.500 | -0.082 | -0.250 |
| predicted_R | 0.484 | 0.000 | 0.000 | Hitting_R | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.537 | 0.000 | -0.537 | 0.000 |
| predicted_SLG | 0.313 | 0.000 | 0.250 | Hitting_SLG | 0.408 | 0.333 | -0.408 | -0.333 |
| predicted_SO | 0.539 | 1.000 | 1.000 | Hitting_SO | 0.537 | 0.000 | 0.463 | 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_BB: 0.3120 -> 1.0000 (boost 0.6880, better) |
| Biggest Deboost | predicted_H: 0.8000 -> 0.0000 (deboost -0.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 1 | 3 | predicted_SO: 0.5390 -> 0.5914 (boost 0.0524, worse) | predicted_AB: 3.6000 -> 3.4800 (deboost -0.1200, worse) | Final model input calibrated with local 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.3075 -> 0.3144 (boost 0.0069, better) | predicted_OBP: 0.3076 -> 0.2922 (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 | 3 | 4 | 2 | 5 | predicted_AB: 3.4800 -> 4.0000 (boost 0.5200, better) | predicted_BB: 0.3627 -> 0.0000 (deboost -0.3627, worse) | AB rounded to 4 (raw=3.60), rates preserved: AVG=0.211 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4347 -> 0.0000 (deboost -0.4347, 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 | 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 | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3040 -> 0.3144 (boost 0.0104, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.008,
"predicted_AB": 3.6,
"predicted_AVG": 0.223,
"predicted_BB": 0.312,
"predicted_H": 0.8,
"predicted_HR": 0.06,
"predicted_OBP": 0.306,
"predicted_R": 0.484,
"predicted_RBI": 0.33,
"predicted_SLG": 0.313,
"predicted_SO": 0.539
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1421,
"predicted_3B": 0.0067,
"predicted_AB": 3.48,
"predicted_AVG": 0.219,
"predicted_BB": 0.3622,
"predicted_H": 0.761,
"predicted_HBP": 0.04,
"predicted_HR": 0.0591,
"predicted_OBP": 0.3076,
"predicted_R": 0.4355,
"predicted_RBI": 0.307,
"predicted_SLG": 0.3075,
"predicted_SO": 0.5914
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1421,
"delta": -0.0299,
"percent_delta": -0.1738,
"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.6,
"after": 3.48,
"delta": -0.12,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.219,
"delta": -0.004,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.3622,
"delta": 0.0502,
"percent_delta": 0.1609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.761,
"delta": -0.039,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0591,
"delta": -0.0009,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3076,
"delta": 0.0016,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.4355,
"delta": -0.0485,
"percent_delta": -0.1002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.307,
"delta": -0.023,
"percent_delta": -0.0697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3075,
"delta": -0.0055,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.539,
"after": 0.5914,
"delta": 0.0524,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.539,
"after": 0.5914,
"delta": 0.0524,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6,
"after": 3.48,
"delta": -0.12,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1421,
"predicted_3B": 0.0067,
"predicted_AB": 3.48,
"predicted_AVG": 0.2184,
"predicted_BB": 0.3627,
"predicted_H": 0.7601,
"predicted_HBP": 0.04,
"predicted_HR": 0.0595,
"predicted_OBP": 0.2922,
"predicted_R": 0.4347,
"predicted_RBI": 0.3064,
"predicted_SLG": 0.3144,
"predicted_SO": 0.5906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1421,
"after": 0.1421,
"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.48,
"after": 3.48,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2184,
"delta": -0.0006,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3622,
"after": 0.3627,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.761,
"after": 0.7601,
"delta": -0.0009,
"percent_delta": -0.0012,
"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.0591,
"after": 0.0595,
"delta": 0.0004,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.2922,
"delta": -0.0154,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4355,
"after": 0.4347,
"delta": -0.0008,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.307,
"after": 0.3064,
"delta": -0.0006,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3075,
"after": 0.3144,
"delta": 0.0069,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5914,
"after": 0.5906,
"delta": -0.0008,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3075,
"after": 0.3144,
"delta": 0.0069,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.2922,
"delta": -0.0154,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.60), rates preserved: AVG=0.211 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1421,
"after": 0.0,
"delta": -0.1421,
"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.48,
"after": 4.0,
"delta": 0.52,
"percent_delta": 0.1494,
"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": 0.7601,
"after": 1.0,
"delta": 0.2399,
"percent_delta": 0.3156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0595,
"after": 0.0,
"delta": -0.0595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3064,
"after": 0.0,
"delta": -0.3064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5906,
"after": 1.0,
"delta": 0.4094,
"percent_delta": 0.6932,
"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.48,
"after": 4.0,
"delta": 0.52,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3627,
"after": 0.0,
"delta": -0.3627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4347,
"after": 0.0,
"delta": -0.4347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4347,
"after": 0.0,
"delta": -0.4347,
"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.211,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.289,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2184,
"after": 0.211,
"delta": -0.0074,
"percent_delta": -0.0339,
"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.2922,
"after": 0.289,
"delta": -0.0032,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3144,
"after": 0.304,
"delta": -0.0104,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2184,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2922,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3144,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2184,
"delta": 0.0074,
"percent_delta": 0.0351,
"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.289,
"after": 0.2922,
"delta": 0.0032,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3144,
"delta": 0.0104,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.3144,
"delta": 0.0104,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6,
"after": 3.0,
"delta": -0.6,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2184,
"delta": -0.0046,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2922,
"delta": -0.0138,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3144,
"delta": 0.0014,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.539,
"after": 1.0,
"delta": 0.461,
"percent_delta": 0.8553,
"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_BB",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.600 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.313 | - |
| predicted_SO | 0.539 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.030 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.480 | -0.120 |
| predicted_AVG | 0.219 | -0.004 |
| predicted_BB | 0.362 | 0.050 |
| predicted_H | 0.761 | -0.039 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.308 | 0.002 |
| predicted_R | 0.435 | -0.048 |
| predicted_RBI | 0.307 | -0.023 |
| predicted_SLG | 0.307 | -0.006 |
| predicted_SO | 0.591 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.480 | 0.000 |
| predicted_AVG | 0.218 | -0.001 |
| predicted_BB | 0.363 | 0.001 |
| predicted_H | 0.760 | -0.001 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.059 | 0.000 |
| predicted_OBP | 0.292 | -0.015 |
| predicted_R | 0.435 | -0.001 |
| predicted_RBI | 0.306 | -0.001 |
| predicted_SLG | 0.314 | 0.007 |
| predicted_SO | 0.591 | -0.001 |
AB rounded to 4 (raw=3.60), rates preserved: AVG=0.211 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.142 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.520 |
| predicted_AVG | 0.211 | -0.007 |
| predicted_BB | 0.000 | -0.363 |
| predicted_H | 1.000 | 0.240 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 0.000 | -0.306 |
| predicted_SLG | 0.304 | -0.010 |
| predicted_SO | 1.000 | 0.409 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.1250 | 0.2632 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 6.000 | 6.000 | 0.2000 | 0.3333 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 0.2000 |
| season | 0.60 | 128 | - | 438.000 | 107.000 | 22.000 | 1.000 | 12.000 | 59.000 | 62.000 | 40.000 | 69.000 | 0.2443 | 0.3177 | 0.3813 | 0.2443 | 0.0274 | 0.1347 | 0.0913 | 0.1575 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3230 |
| predicted_AVG | 0.2137 |
| predicted_BB | 0.4280 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.3097 |
| predicted_R | 0.3720 |
| predicted_RBI | 0.2770 |
| predicted_SLG | 0.3003 |
| predicted_SO | 0.6600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1030 | 0.1421 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.6000 | 3.3230 | 3.4800 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2137 | 0.2190 | model_form_blend |
| predicted_BB | 0.3120 | 0.4280 | 0.3622 | model_form_blend |
| predicted_H | 0.8000 | 0.7100 | 0.7610 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0600 | 0.0580 | 0.0591 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3097 | 0.3076 | model_form_blend |
| predicted_R | 0.4840 | 0.3720 | 0.4355 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2770 | 0.3070 | model_form_blend |
| predicted_SLG | 0.3130 | 0.3003 | 0.3075 | model_form_blend |
| predicted_SO | 0.5390 | 0.6600 | 0.5914 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 477 |
| Season rows before report date | 477 |
| 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 | 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 702332 |
| playerID | 702332 |
| playerName | Caleb Durbin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.316 |
| sl_xwoba | 0.287 |
| sl_xba | 0.236 |
| sl_xslg | 0.318 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 25.3 |
| sl_exit_velocity_avg | 83.5 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.252 | 0.000 | 1.000 | Hitting_2B | 0.225 | 2.000 | -0.225 | -2.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.410 | 4.000 | 4.000 | Hitting_AB | 3.844 | 4.000 | 0.156 | 0.000 |
| predicted_AVG | 0.318 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.750 | -0.260 | -0.750 |
| predicted_BB | 0.452 | 1.000 | 0.000 | Hitting_BB | 0.476 | 0.000 | 0.524 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.400 | 0.000 | 1.000 | Hitting_H | 0.998 | 3.000 | -0.998 | -3.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_OBP | 0.375 | 0.200 | 0.250 | Hitting_OBP | 0.339 | 0.750 | -0.139 | -0.550 |
| predicted_R | 0.578 | 1.000 | 1.000 | Hitting_R | 0.616 | 1.000 | 0.384 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.576 | 0.000 | -0.576 | 0.000 |
| predicted_SLG | 0.522 | 0.000 | 0.500 | Hitting_SLG | 0.484 | 1.250 | -0.484 | -1.250 |
| predicted_SO | 0.881 | 0.000 | 1.000 | Hitting_SO | 0.868 | 0.000 | -0.868 | 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.4520 -> 1.0000 (boost 0.5480, better) |
| Biggest Deboost | predicted_H: 1.4000 -> 0.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 | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.2520 -> 0.3309 (boost 0.0789, better) | predicted_AB: 4.4100 -> 4.1830 (deboost -0.2270, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5171 -> 0.5070 (deboost -0.0101, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.8824 -> 1.0000 (boost 0.1176, worse) | predicted_BB: 0.4160 -> 0.0000 (deboost -0.4160, worse) | AB rounded to 4 (raw=4.41), rates preserved: AVG=0.292 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5709 -> 1.0000 (boost 0.4291, 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 | 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4810 -> 0.5070 (boost 0.0260, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.252,
"predicted_3B": 0.03,
"predicted_AB": 4.41,
"predicted_AVG": 0.318,
"predicted_BB": 0.452,
"predicted_H": 1.4,
"predicted_HR": 0.17,
"predicted_OBP": 0.375,
"predicted_R": 0.578,
"predicted_RBI": 0.39,
"predicted_SLG": 0.522,
"predicted_SO": 0.881
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3309,
"predicted_3B": 0.0248,
"predicted_AB": 4.183,
"predicted_AVG": 0.3078,
"predicted_BB": 0.4154,
"predicted_H": 1.2893,
"predicted_HBP": 0.07,
"predicted_HR": 0.15,
"predicted_OBP": 0.3702,
"predicted_R": 0.5719,
"predicted_RBI": 0.37,
"predicted_SLG": 0.5171,
"predicted_SO": 0.8836
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.3309,
"delta": 0.0789,
"percent_delta": 0.3131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0248,
"delta": -0.0052,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.41,
"after": 4.183,
"delta": -0.227,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.318,
"after": 0.3078,
"delta": -0.0102,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.4154,
"delta": -0.0366,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4,
"after": 1.2893,
"delta": -0.1107,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.15,
"delta": -0.02,
"percent_delta": -0.1176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3702,
"delta": -0.0048,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 0.5719,
"delta": -0.0061,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.37,
"delta": -0.02,
"percent_delta": -0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.522,
"after": 0.5171,
"delta": -0.0049,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.881,
"after": 0.8836,
"delta": 0.0026,
"percent_delta": 0.003,
"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_2B",
"before": 0.252,
"after": 0.3309,
"delta": 0.0789,
"percent_delta": 0.3131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.41,
"after": 4.183,
"delta": -0.227,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 135
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3309,
"predicted_3B": 0.0248,
"predicted_AB": 4.183,
"predicted_AVG": 0.3079,
"predicted_BB": 0.416,
"predicted_H": 1.2878,
"predicted_HBP": 0.07,
"predicted_HR": 0.1509,
"predicted_OBP": 0.3705,
"predicted_R": 0.5709,
"predicted_RBI": 0.3693,
"predicted_SLG": 0.507,
"predicted_SO": 0.8824
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3309,
"after": 0.3309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0248,
"after": 0.0248,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.183,
"after": 4.183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3078,
"after": 0.3079,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4154,
"after": 0.416,
"delta": 0.0006,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2893,
"after": 1.2878,
"delta": -0.0015,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1509,
"delta": 0.0009,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3702,
"after": 0.3705,
"delta": 0.0003,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5719,
"after": 0.5709,
"delta": -0.001,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3693,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5171,
"after": 0.507,
"delta": -0.0101,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8836,
"after": 0.8824,
"delta": -0.0012,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5171,
"after": 0.507,
"delta": -0.0101,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.41), rates preserved: AVG=0.292 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3309,
"after": 0.0,
"delta": -0.3309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0248,
"after": 0.0,
"delta": -0.0248,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.183,
"after": 4.0,
"delta": -0.183,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2878,
"after": 1.0,
"delta": -0.2878,
"percent_delta": -0.2235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1509,
"after": 0.0,
"delta": -0.1509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3693,
"after": 0.0,
"delta": -0.3693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8824,
"after": 1.0,
"delta": 0.1176,
"percent_delta": 0.1333,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8824,
"after": 1.0,
"delta": 0.1176,
"percent_delta": 0.1333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5709,
"after": 1.0,
"delta": 0.4291,
"percent_delta": 0.7516,
"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.5709,
"after": 1.0,
"delta": 0.4291,
"percent_delta": 0.7516,
"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": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_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.292,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.358,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.481,
"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.3079,
"after": 0.292,
"delta": -0.0159,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3705,
"after": 0.358,
"delta": -0.0125,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.481,
"delta": -0.026,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 4.0,
"predicted_AVG": 0.3079,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3705,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.507,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.3079,
"delta": 0.0159,
"percent_delta": 0.0543,
"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.358,
"after": 0.3705,
"delta": 0.0125,
"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.481,
"after": 0.507,
"delta": 0.026,
"percent_delta": 0.0541,
"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.481,
"after": 0.507,
"delta": 0.026,
"percent_delta": 0.0541,
"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.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.41,
"after": 4.0,
"delta": -0.41,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.318,
"after": 0.3079,
"delta": -0.0101,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 1.0,
"delta": 0.548,
"percent_delta": 1.2124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4,
"after": 0.0,
"delta": -1.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3705,
"delta": -0.0045,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.522,
"after": 0.507,
"delta": -0.015,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.881,
"after": 0.0,
"delta": -0.881,
"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.452,
"after": 1.0,
"delta": 0.548,
"percent_delta": 1.2124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4,
"after": 0.0,
"delta": -1.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.252 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 4.410 | - |
| predicted_AVG | 0.318 | - |
| predicted_BB | 0.452 | - |
| predicted_H | 1.400 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.375 | - |
| predicted_R | 0.578 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.522 | - |
| predicted_SO | 0.881 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.331 | 0.079 |
| predicted_3B | 0.025 | -0.005 |
| predicted_AB | 4.183 | -0.227 |
| predicted_AVG | 0.308 | -0.010 |
| predicted_BB | 0.415 | -0.037 |
| predicted_H | 1.289 | -0.111 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.150 | -0.020 |
| predicted_OBP | 0.370 | -0.005 |
| predicted_R | 0.572 | -0.006 |
| predicted_RBI | 0.370 | -0.020 |
| predicted_SLG | 0.517 | -0.005 |
| predicted_SO | 0.884 | 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.331 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 4.183 | 0.000 |
| predicted_AVG | 0.308 | 0.000 |
| predicted_BB | 0.416 | 0.001 |
| predicted_H | 1.288 | -0.001 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.151 | 0.001 |
| predicted_OBP | 0.370 | 0.000 |
| predicted_R | 0.571 | -0.001 |
| predicted_RBI | 0.369 | -0.001 |
| predicted_SLG | 0.507 | -0.010 |
| predicted_SO | 0.882 | -0.001 |
AB rounded to 4 (raw=4.41), rates preserved: AVG=0.292 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.331 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 4.000 | -0.183 |
| predicted_AVG | 0.292 | -0.016 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | -0.288 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.358 | -0.013 |
| predicted_R | 1.000 | 0.429 |
| predicted_RBI | 0.000 | -0.369 |
| predicted_SLG | 0.481 | -0.026 |
| predicted_SO | 1.000 | 0.118 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 4.000 | 0.4000 | 0.4545 | 0.6000 | 0.4000 | 0.0000 | 0.0000 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 7.000 | 0.000 | 1.000 | 1.000 | 5.000 | 3.000 | 10.000 | 0.3000 | 0.3636 | 0.5500 | 0.3000 | 0.0250 | 0.0250 | 0.0750 | 0.2500 |
| season | 0.60 | 135 | - | 516.000 | 135.000 | 34.000 | 4.000 | 23.000 | 70.000 | 78.000 | 61.000 | 119.000 | 0.2616 | 0.3390 | 0.4767 | 0.2616 | 0.0446 | 0.1357 | 0.1182 | 0.2306 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4330 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.8890 |
| predicted_AVG | 0.2946 |
| predicted_BB | 0.3680 |
| predicted_H | 1.1460 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.3640 |
| predicted_R | 0.5640 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.5107 |
| predicted_SO | 0.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.4330 | 0.3309 | model_form_blend |
| predicted_3B | 0.0300 | 0.0180 | 0.0248 | model_form_blend |
| predicted_AB | 4.4100 | 3.8890 | 4.1830 | model_form_blend |
| predicted_AVG | 0.3180 | 0.2946 | 0.3078 | model_form_blend |
| predicted_BB | 0.4520 | 0.3680 | 0.4154 | model_form_blend |
| predicted_H | 1.4000 | 1.1460 | 1.2893 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.1700 | 0.1240 | 0.1500 | model_form_blend |
| predicted_OBP | 0.3750 | 0.3640 | 0.3702 | model_form_blend |
| predicted_R | 0.5780 | 0.5640 | 0.5719 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3440 | 0.3700 | model_form_blend |
| predicted_SLG | 0.5220 | 0.5107 | 0.5171 | model_form_blend |
| predicted_SO | 0.8810 | 0.8870 | 0.8836 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 135 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 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.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 | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 677800 |
| playerID | 677800 |
| playerName | Wilyer Abreu |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.348 |
| sl_xwoba | 0.35 |
| sl_xba | 0.255 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.125 | 0.000 | 1.875 | 3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.125 | 0.000 | 0.875 | 3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.938 | 3.000 | -0.938 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.694 | 6.000 | -0.494 | -0.800 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 4.625 | 7.000 | 2.375 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 0 | 2 | 1 | 1 | - | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687562",
"player_name": "Jake Bennett",
"position": "Starter",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run 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": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 7.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 7.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 14.000 | 26.000 | 7.000 | 28.000 | 2.000 | 4.5000 | 1.1786 | 0.5000 | 0.9286 | 0.2500 | 1.0000 | 0.0714 |
| last_10 | 0.35 | 10 | 60.200 | 22.000 | 51.000 | 11.000 | 49.000 | 5.000 | 3.2637 | 1.0220 | 0.3626 | 0.8407 | 0.1813 | 0.8077 | 0.0824 |
| season | 0.20 | 16 | 93.200 | 34.000 | 79.000 | 18.000 | 74.000 | 7.000 | 3.2669 | 1.0356 | 0.3630 | 0.8434 | 0.1922 | 0.7900 | 0.0747 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4610 |
| predicted_ER | 2.5660 |
| predicted_ERA | 3.9772 |
| predicted_H | 5.2420 |
| predicted_HR | 0.5390 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.2390 |
| predicted_WHIP | 1.1543 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4610 | 2.1545 | model_form_blend |
| predicted_ER | 4.0000 | 2.5660 | 3.2122 | model_form_blend |
| predicted_ERA | - | 3.9772 | 3.9772 | form_only |
| predicted_H | 4.0000 | 5.2420 | 4.6824 | model_form_blend |
| predicted_HR | 1.0000 | 0.5390 | 0.7467 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 7.0000 | 5.2390 | 6.0325 | model_form_blend |
| predicted_WHIP | - | 1.1543 | 1.1543 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 7 |
| HR | 1 |
| BF | 25 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.27 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 83 |
| Pitching_R | 0 |
| Pitching_SO | 7 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_BOS@NYY |
| game_type | full |
| mlbID | 687562 |
| playerID | 687562 |
| playerName | Jake Bennett |
| pos | P |
| started | True |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-29 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.262 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 36.7 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 76.689576593 |
| sl_avg_hyper_speed | 93.958564758 |
| 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.426 | 0.000 | -0.426 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.681 | 0.000 | -0.681 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.962 | 1.000 | 0.138 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.277 | 2.000 | -0.277 | -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": "547973",
"player_name": "Aroldis Chapman",
"position": "Closer",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 2.000 | 8.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.2000 | 0.4000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 5.000 | 3.000 | 13.000 | 1.000 | 1.8000 | 0.8000 | 0.2000 | 0.5000 | 0.3000 | 1.3000 | 0.1000 |
| season | 0.20 | 46 | 45.200 | 6.000 | 28.000 | 20.000 | 60.000 | 2.000 | 1.1825 | 1.0511 | 0.1314 | 0.6131 | 0.4380 | 1.3139 | 0.0438 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3720 |
| predicted_ER | 0.2380 |
| predicted_ERA | 2.1400 |
| predicted_H | 0.5940 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2620 |
| predicted_WHIP | 0.9659 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3720 | 0.1864 | model_form_blend |
| predicted_ER | 0.0000 | 0.2380 | 0.1192 | model_form_blend |
| predicted_ERA | - | 2.1400 | 2.1400 | form_only |
| predicted_H | 0.0000 | 0.5940 | 0.2976 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0401 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2620 | 1.1313 | model_form_blend |
| predicted_WHIP | - | 0.9659 | 0.9659 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 47 |
| Season rows before report date | 47 |
| 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.77 |
| 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 | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260831_SEA@BOS |
| game_type | full |
| mlbID | 547973 |
| playerID | 547973 |
| playerName | Aroldis Chapman |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-31 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.265 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 77.096671569 |
| sl_avg_hyper_speed | 94.500717059 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.091 | 1.000 | -0.091 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.727 | 1.000 | -0.727 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.009 | 1.000 | 0.091 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.818 | 2.000 | 0.182 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 2 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669062",
"player_name": "Erik Miller",
"position": "Setup Man",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 4.000 | 1.000 | 10.000 | 1.000 | 1.8000 | 1.0000 | 0.2000 | 0.8000 | 0.2000 | 2.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 8.000 | 3.000 | 19.000 | 1.000 | 0.8182 | 1.0000 | 0.0909 | 0.7273 | 0.2727 | 1.7273 | 0.0909 |
| season | 0.20 | 48 | 44.000 | 10.000 | 30.000 | 23.000 | 65.000 | 3.000 | 2.0455 | 1.2045 | 0.2273 | 0.6818 | 0.5227 | 1.4773 | 0.0682 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3190 |
| predicted_ER | 0.2870 |
| predicted_ERA | 2.5792 |
| predicted_H | 0.8310 |
| predicted_HR | 0.1390 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4890 |
| predicted_WHIP | 1.1502 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3190 | 0.1587 | model_form_blend |
| predicted_ER | 0.0000 | 0.2870 | 0.1428 | model_form_blend |
| predicted_ERA | - | 2.5792 | 2.5792 | form_only |
| predicted_H | 1.0000 | 0.8310 | 0.9159 | model_form_blend |
| predicted_HR | 0.0000 | 0.1390 | 0.0691 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.4890 | 1.7458 | model_form_blend |
| predicted_WHIP | - | 1.1502 | 1.1502 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260831_SEA@BOS |
| game_type | full |
| mlbID | 669062 |
| playerID | 669062 |
| playerName | Erik Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-31 |
| sl_k_percent | 34.6 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.277 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 25.3 |
| sl_whiff_percent | 36.5 |
| sl_swing_percent | 40.1 |
| sl_avg_best_speed | 71.074281818 |
| sl_avg_hyper_speed | 92.565449091 |
| 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.152 | 0.000 | -0.152 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.696 | 0.000 | -0.696 | 0.000 |
| predicted_IP | 0.200 | 1.000 | 0.200 | Pitching_InningsPitched | 0.963 | 1.000 | 0.037 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.087 | 1.000 | -1.087 | -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": "676477",
"player_name": "Garrett Whitlock",
"position": "Middle Reliever (High Leverage)",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 3.000 | 1.000 | 8.000 | 0.000 | 1.8000 | 0.8000 | 0.2000 | 0.6000 | 0.2000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 1.000 | 12.000 | 0.000 | 1.8000 | 0.7000 | 0.2000 | 0.6000 | 0.1000 | 1.2000 | 0.0000 |
| season | 0.20 | 46 | 45.000 | 10.000 | 32.000 | 7.000 | 50.000 | 3.000 | 2.0000 | 0.8667 | 0.2222 | 0.7111 | 0.1556 | 1.1111 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2320 |
| predicted_ER | 0.3090 |
| predicted_ERA | 2.7792 |
| predicted_H | 0.7470 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2120 |
| predicted_WHIP | 0.9796 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2320 | 0.1159 | model_form_blend |
| predicted_ER | 0.0000 | 0.3090 | 0.1544 | model_form_blend |
| predicted_ERA | - | 2.7792 | 2.7792 | form_only |
| predicted_H | 0.0000 | 0.7470 | 0.3732 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0305 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2120 | 0.6055 | model_form_blend |
| predicted_WHIP | - | 0.9796 | 0.9796 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 46 |
| Season rows before report date | 46 |
| 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260829_BOS@NYY |
| game_type | full |
| mlbID | 676477 |
| playerID | 676477 |
| playerName | Garrett Whitlock |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-29 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.23 |
| sl_xwoba | 0.248 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 57.3 |
| sl_avg_best_speed | 77.8589775 |
| sl_avg_hyper_speed | 93.416647321 |
| 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.674 | 2.000 | -0.674 | -2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.535 | 5.000 | 0.465 | -4.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.884 | 5.000 | 0.116 | -4.000 |
| predicted_IP | 0.000 | 0.200 | 0.000 | Pitching_InningsPitched | 1.237 | 1.100 | -1.037 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.465 | 1.000 | -0.465 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| 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 | 4 | 4 | 0 | 2 | 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": "663558",
"player_name": "Jovani Morán",
"position": "Reliever",
"team": "BOS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run 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": "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": 0.2,
"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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": 0.2,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.2,
"after": 0.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": "boosted"
}
}
}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 | - |
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 | 0.200 | 0.100 |
| predicted_SO | 1.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 | 6.100 | 6.000 | 8.000 | 7.000 | 5.000 | 2.000 | 8.5263 | 2.3684 | 0.9474 | 1.2632 | 1.1053 | 0.7895 | 0.3158 |
| last_10 | 0.35 | 10 | 12.100 | 9.000 | 11.000 | 9.000 | 10.000 | 3.000 | 6.5676 | 1.6216 | 0.7297 | 0.8919 | 0.7297 | 0.8108 | 0.2432 |
| season | 0.20 | 42 | 58.100 | 22.000 | 37.000 | 27.000 | 63.000 | 9.000 | 3.3943 | 1.0971 | 0.3771 | 0.6343 | 0.4629 | 1.0800 | 0.1543 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7280 |
| predicted_ER | 0.7030 |
| predicted_ERA | 6.1159 |
| predicted_H | 1.0310 |
| predicted_HR | 0.2320 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9100 |
| predicted_WHIP | 1.7005 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7280 | 0.3812 | model_form_blend |
| predicted_ER | 0.0000 | 0.7030 | 0.3681 | model_form_blend |
| predicted_ERA | - | 6.1159 | 6.1159 | form_only |
| predicted_H | 0.0000 | 1.0310 | 0.5399 | model_form_blend |
| predicted_HR | 0.0000 | 0.2320 | 0.1215 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9100 | 0.4765 | model_form_blend |
| predicted_WHIP | - | 1.7005 | 1.7005 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 11 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.55 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 40 |
| Pitching_R | 5 |
| Pitching_SO | 1 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260830_BOS@NYY |
| game_type | full |
| mlbID | 663558 |
| playerID | 663558 |
| playerName | Jovani Morán |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-08-30 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.284 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 29.5 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 45.8 |
| sl_avg_best_speed | 75.800051667 |
| sl_avg_hyper_speed | 93.440418042 |
| Field | Value |
|---|---|
| Pitcher | Brandon Young |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1806 |
| ESPN Rank | 63 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0756 |
| Avg Velo | 88.5186 |
| Avg Spin | 2057.9819 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 4 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 3.3836 |
| Season WHIP | 1.3350 |
| Role Avg IP | 5.6670 |
| Recent Avg IP | 5.4000 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"opponent": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"edges": {
"quality_edge": -0.0511,
"offense_edge": 0.009,
"opponent_offense_edge": -0.0037,
"defense_strength": -0.0392,
"opponent_defense_weakness": -0.1442,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9969,
"run_prevention": 1.0059,
"strikeout": 0.9988
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687064",
"profile": {
"available": true,
"pitcher_id": "687064",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 503.0,
"k_percent": 18.5,
"bb_percent": 8.3,
"woba": 0.318,
"xwoba": 0.321,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 40.0,
"avg_best_speed": 78.3395,
"avg_hyper_speed": 94.2536,
"whiff_percent": 22.8,
"swing_percent": 49.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1578,
"command_and_miss": -0.2986,
"regression_edge": -0.0857,
"xwoba_edge": -0.2857,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.3429,
"bb_edge": 0.2,
"pitch_design_score": -0.0756
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687064",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5186,
"release_spin_rate": 2057.9819,
"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.5398,
"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.1806,
"sample_weight": 1.0,
"run_prevention_factor": 1.0154,
"strikeout_factor": 0.9669,
"walk_factor": 0.984,
"homer_factor": 1.0105,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687064",
"espn_id": 4414339,
"player_name": "Brandon Young",
"team": "BAL",
"role": "pitcher",
"espn_rank": 63,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 63,
"gp_value": 23.0,
"gp_rank": 336,
"gs_value": 23.0,
"gs_rank": 72,
"qs_value": 11.0,
"qs_rank": 40,
"era_value": 3.3836,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 130.1,
"ip_rank": 69,
"h_value": 128.0,
"h_rank": 53,
"er_value": 49.0,
"er_rank": 99,
"hr_value": 17.0,
"hr_rank": 60,
"bb_value": 46.0,
"bb_rank": 46,
"k_value": 103.0,
"k_rank": 88,
"k_per_9_value": 7.112532,
"k_per_9_rank": 34,
"whip_value": 1.335,
"whip_rank": null,
"war_value": 2.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0154,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 1.0154,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.984,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0105,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9669,
"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": 58.0,
"ER": 24,
"H": 61,
"BB": 19,
"SO": 46,
"HR": 10,
"ERA": 3.7241379310344827,
"WHIP": 1.3793103448275863,
"K9": 7.137931034482759,
"HR9": 1.5517241379310345,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-28T00:00:00"
}{
"available": true,
"pitcher_id": "687064",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 88.51860048115898,
"release_spin_rate": 2057.9819103388677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5186,
"release_spin_rate": 2057.9819,
"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.5398,
"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": "687064",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 11.0,
"R": 12.0,
"H": 31.0,
"BB": 10.0,
"SO": 18.0,
"HR": 6.0,
"BF": 117.0,
"Pitches": 459.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.4,
"H": 6.2,
"BB": 2.0,
"SO": 3.6,
"HR": 1.2,
"BF": 23.4,
"Pitches": 91.8
},
"rates": {
"ERA": 3.6667,
"WHIP": 1.5185,
"ER_per_IP": 0.40741,
"H_per_IP": 1.14815,
"BB_per_IP": 0.37037,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.22222
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 58.0,
"ER": 24.0,
"R": 25.0,
"H": 61.0,
"BB": 19.0,
"SO": 46.0,
"HR": 10.0,
"BF": 245.0,
"Pitches": 929.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.5,
"H": 6.1,
"BB": 1.9,
"SO": 4.6,
"HR": 1.0,
"BF": 24.5,
"Pitches": 92.9
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.3793,
"ER_per_IP": 0.41379,
"H_per_IP": 1.05172,
"BB_per_IP": 0.32759,
"SO_per_IP": 0.7931,
"HR_per_IP": 0.17241
}
},
"season": {
"games": 23,
"totals": {
"IP": 130.1,
"ER": 49.0,
"R": 58.0,
"H": 128.0,
"BB": 46.0,
"SO": 103.0,
"HR": 17.0,
"BF": 556.0,
"Pitches": 2074.0
},
"per_game": {
"IP": 5.2,
"ER": 2.1304,
"R": 2.5217,
"H": 5.5652,
"BB": 2.0,
"SO": 4.4783,
"HR": 0.7391,
"BF": 24.1739,
"Pitches": 90.1739
},
"rates": {
"ERA": 3.3836,
"WHIP": 1.335,
"ER_per_IP": 0.37596,
"H_per_IP": 0.9821,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.79028,
"HR_per_IP": 0.13043
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.329,
"predicted_H": 5.886,
"predicted_BB": 1.969,
"predicted_SO": 4.279,
"predicted_HR": 0.994,
"predicted_ERA": 3.7816,
"predicted_WHIP": 1.4171
}
}{
"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": 4.0,
"form": 2.329,
"final": 3.0399,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.886,
"final": 4.6581,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.969,
"final": 2.4076,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.279,
"final": 4.5858,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.994,
"final": 1.422,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7816,
"final": 3.7816,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4171,
"final": 1.4171,
"source": "form_only"
}
}
}{
"available": false,
"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 Kittredge |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0019 |
| ESPN Rank | 633 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.2727 |
| Season WHIP | 1.3864 |
| Role Avg IP | 0.8800 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"opponent": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"edges": {
"quality_edge": -0.0511,
"offense_edge": 0.009,
"opponent_offense_edge": -0.0037,
"defense_strength": -0.0392,
"opponent_defense_weakness": -0.1442,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9969,
"run_prevention": 1.0059,
"strikeout": 0.9988
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "552640",
"profile": {
"available": true,
"pitcher_id": "552640",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 164.0,
"k_percent": 18.8,
"bb_percent": 6.1,
"woba": 0.315,
"xwoba": 0.31,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.1597,
"avg_hyper_speed": 94.0315,
"whiff_percent": 24.1,
"swing_percent": 54.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0177,
"command_and_miss": -0.1043,
"regression_edge": 0.1429,
"xwoba_edge": 0.0286,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.1,
"whiff_edge": -0.1571,
"bb_edge": 0.75,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "552640",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0019,
"sample_weight": 0.656,
"run_prevention_factor": 1.0002,
"strikeout_factor": 0.9843,
"walk_factor": 0.9606,
"homer_factor": 0.9881,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "552640",
"espn_id": 35872,
"player_name": "Andrew Kittredge",
"team": "BAL",
"role": "pitcher",
"espn_rank": 633,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 633,
"gp_value": 50.0,
"gp_rank": 93,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.2727,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 9.0,
"sv_rank": 28,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 44.0,
"ip_rank": 329,
"h_value": 50.0,
"h_rank": 230,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 11.0,
"bb_rank": 451,
"k_value": 37.0,
"k_rank": 361,
"k_per_9_value": 7.568182,
"k_per_9_rank": 29,
"whip_value": 1.3863,
"whip_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0001,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0001,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9742,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9922,
"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": 9.2,
"ER": 2,
"H": 13,
"BB": 1,
"SO": 8,
"HR": 0,
"ERA": 1.8620689655172415,
"WHIP": 1.4482758620689655,
"K9": 7.448275862068966,
"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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "552640",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.844,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6388,
"prior_weight": 0.3612
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "552640",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 14.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.7143,
"ER_per_IP": 0.21429,
"H_per_IP": 1.5,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 13.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.3,
"BB": 0.1,
"SO": 0.8,
"HR": 0.0,
"BF": 4.3,
"Pitches": 13.5
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.4483,
"ER_per_IP": 0.2069,
"H_per_IP": 1.34483,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 44.0,
"ER": 16.0,
"R": 26.0,
"H": 50.0,
"BB": 11.0,
"SO": 37.0,
"HR": 5.0,
"BF": 196.0,
"Pitches": 644.0
},
"per_game": {
"IP": 1.0,
"ER": 0.32,
"R": 0.52,
"H": 1.0,
"BB": 0.22,
"SO": 0.74,
"HR": 0.1,
"BF": 3.92,
"Pitches": 12.88
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.3864,
"ER_per_IP": 0.36364,
"H_per_IP": 1.13636,
"BB_per_IP": 0.25,
"SO_per_IP": 0.84091,
"HR_per_IP": 0.11364
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.334,
"predicted_H": 1.228,
"predicted_BB": 0.251,
"predicted_SO": 0.878,
"predicted_HR": 0.067,
"predicted_ERA": 3.0064,
"predicted_WHIP": 1.479
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5026,
"form_weight": 0.4974,
"form_reliability": 0.6388,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.844,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6388,
"prior_weight": 0.3612
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.334,
"final": 0.1661,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.228,
"final": 0.6108,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.251,
"final": 0.1248,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.878,
"final": 0.9393,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0333,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0064,
"final": 3.0064,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.479,
"final": 1.479,
"source": "form_only"
}
}
}{
"available": false,
"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 | Rico Garcia |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5388 |
| ESPN Rank | 135 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.5642 |
| Season WHIP | 0.8883 |
| Role Avg IP | 0.9180 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"opponent": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"edges": {
"quality_edge": -0.0511,
"offense_edge": 0.009,
"opponent_offense_edge": -0.0037,
"defense_strength": -0.0392,
"opponent_defense_weakness": -0.1442,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9969,
"run_prevention": 1.0059,
"strikeout": 0.9988
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670329",
"profile": {
"available": true,
"pitcher_id": "670329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 205.0,
"k_percent": 26.0,
"bb_percent": 8.5,
"woba": 0.261,
"xwoba": 0.275,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 34.2,
"avg_best_speed": 74.4261,
"avg_hyper_speed": 93.1123,
"whiff_percent": 32.6,
"swing_percent": 49.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9367,
"command_and_miss": 0.6636,
"regression_edge": -0.4,
"xwoba_edge": 1.0286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.5143,
"whiff_edge": 1.0571,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5388,
"sample_weight": 0.82,
"run_prevention_factor": 0.9542,
"strikeout_factor": 1.0539,
"walk_factor": 0.9902,
"homer_factor": 0.9374,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670329",
"espn_id": 41382,
"player_name": "Rico Garcia",
"team": "BAL",
"role": "pitcher",
"espn_rank": 135,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 135,
"gp_value": 66.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.1675,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 6.0,
"sv_rank": 37,
"hld_value": 18.0,
"hld_rank": 19,
"ip_value": 59.2,
"ip_rank": 219,
"h_value": 37.0,
"h_rank": 339,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 9.0,
"hr_rank": 171,
"bb_value": 20.0,
"bb_rank": 286,
"k_value": 61.0,
"k_rank": 209,
"k_per_9_value": 9.2011175,
"k_per_9_rank": 25,
"whip_value": 0.9553,
"whip_rank": null,
"war_value": 1.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9624,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9624,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9487,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0442,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 1,
"H": 6,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 1.0,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "670329",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "670329",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 68.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 13.6
},
"rates": {
"ERA": 2.25,
"WHIP": 1.75,
"ER_per_IP": 0.25,
"H_per_IP": 1.25,
"BB_per_IP": 0.5,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.6
},
"rates": {
"ERA": 1.0,
"WHIP": 1.0,
"ER_per_IP": 0.11111,
"H_per_IP": 0.66667,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 65,
"totals": {
"IP": 59.2,
"ER": 17.0,
"R": 20.0,
"H": 34.0,
"BB": 19.0,
"SO": 61.0,
"HR": 9.0,
"BF": 231.0,
"Pitches": 870.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2615,
"R": 0.3077,
"H": 0.5231,
"BB": 0.2923,
"SO": 0.9385,
"HR": 0.1385,
"BF": 3.5538,
"Pitches": 13.3846
},
"rates": {
"ERA": 2.5642,
"WHIP": 0.8883,
"ER_per_IP": 0.28492,
"H_per_IP": 0.56983,
"BB_per_IP": 0.31844,
"SO_per_IP": 1.02235,
"HR_per_IP": 0.15084
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.262,
"predicted_H": 0.83,
"predicted_BB": 0.353,
"predicted_SO": 0.881,
"predicted_HR": 0.058,
"predicted_ERA": 2.6411,
"predicted_WHIP": 1.3235
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7058,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.262,
"final": 0.1377,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.83,
"final": 0.4363,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.353,
"final": 0.1856,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.881,
"final": 0.4631,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0305,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6411,
"final": 2.6411,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3235,
"final": 1.3235,
"source": "form_only"
}
}
}{
"available": false,
"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 | Yennier Cano |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3335 |
| ESPN Rank | 225 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1450 |
| Avg Velo | 92.4575 |
| Avg Spin | 1986.5885 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.2331 |
| Season WHIP | 0.8797 |
| Role Avg IP | 0.7640 |
| Recent Avg IP | 0.5330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 635.0,
"runs_allowed": 655.0,
"run_differential": -20.0,
"run_differential_per_game": -0.1429,
"avg_runs_scored": 4.5357,
"avg_runs_allowed": 4.6786,
"offense_index": 1.009,
"defense_index": 0.9608,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.0,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0115
},
"opponent": {
"team": "BOS",
"games": 140,
"wins": 75,
"losses": 65,
"win_pct": 0.5357,
"runs_scored": 627.0,
"runs_allowed": 550.0,
"run_differential": 77.0,
"run_differential_per_game": 0.55,
"avg_runs_scored": 4.4786,
"avg_runs_allowed": 3.9286,
"offense_index": 0.9963,
"defense_index": 1.1442,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 6.0,
"run_differential": -22.0
},
"available": true,
"quality_score": 0.0626
},
"edges": {
"quality_edge": -0.0511,
"offense_edge": 0.009,
"opponent_offense_edge": -0.0037,
"defense_strength": -0.0392,
"opponent_defense_weakness": -0.1442,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9969,
"run_prevention": 1.0059,
"strikeout": 0.9988
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666974",
"profile": {
"available": true,
"pitcher_id": "666974",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 168.0,
"k_percent": 22.2,
"bb_percent": 5.0,
"woba": 0.24,
"xwoba": 0.273,
"sweet_spot_percent": 24.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 39.5,
"avg_best_speed": 78.6285,
"avg_hyper_speed": 94.18,
"whiff_percent": 26.8,
"swing_percent": 45.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8925,
"command_and_miss": 0.3043,
"regression_edge": -0.9429,
"xwoba_edge": 1.0857,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.2429,
"whiff_edge": 0.2286,
"bb_edge": 1.025,
"pitch_design_score": 0.145
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666974",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 6,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 6,
"pitch_usage": 0.0,
"release_speed": 92.45752254999793,
"release_spin_rate": 1986.5884631096485,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 6,
"pitch_usage": 0.0,
"release_speed": 92.45752254999793,
"release_spin_rate": 1986.5884631096485,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4575,
"release_spin_rate": 1986.5885,
"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.145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0358,
"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.3335,
"sample_weight": 0.672,
"run_prevention_factor": 0.9717,
"strikeout_factor": 1.0073,
"walk_factor": 0.9449,
"homer_factor": 0.9643,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "666974",
"espn_id": 35536,
"player_name": "Yennier Cano",
"team": "BAL",
"role": "pitcher",
"espn_rank": 225,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 225,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.0451,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 13.0,
"hld_rank": 47,
"ip_value": 44.1,
"ip_rank": 327,
"h_value": 36.0,
"h_rank": 347,
"er_value": 15.0,
"er_rank": 407,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 10.0,
"bb_rank": 473,
"k_value": 40.0,
"k_rank": 340,
"k_per_9_value": 8.120301,
"k_per_9_rank": 28,
"whip_value": 1.0375,
"whip_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.981,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.981,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.963,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.976,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0049,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 5.2,
"ER": 3,
"H": 5,
"BB": 2,
"SO": 6,
"HR": 0,
"ERA": 4.764705882352942,
"WHIP": 1.2352941176470589,
"K9": 9.529411764705884,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "666974",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 6,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 6,
"pitch_usage": 0.0,
"release_speed": 92.45752254999793,
"release_spin_rate": 1986.5884631096485,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 6,
"pitch_usage": 0.0,
"release_speed": 92.45752254999793,
"release_spin_rate": 1986.5884631096485,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4575,
"release_spin_rate": 1986.5885,
"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.145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0358,
"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.911,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6406,
"prior_weight": 0.3594
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666974",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 58,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 2.2,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.4,
"HR": 0.0,
"BF": 1.6,
"Pitches": 6.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 6.2,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 28.0,
"Pitches": 119.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 2.8,
"Pitches": 11.9
},
"rates": {
"ERA": 4.05,
"WHIP": 1.2,
"ER_per_IP": 0.45,
"H_per_IP": 0.9,
"BB_per_IP": 0.3,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"season": {
"games": 58,
"totals": {
"IP": 44.1,
"ER": 11.0,
"R": 14.0,
"H": 30.0,
"BB": 9.0,
"SO": 40.0,
"HR": 1.0,
"BF": 173.0,
"Pitches": 665.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1897,
"R": 0.2414,
"H": 0.5172,
"BB": 0.1552,
"SO": 0.6897,
"HR": 0.0172,
"BF": 2.9828,
"Pitches": 11.4655
},
"rates": {
"ERA": 2.2331,
"WHIP": 0.8797,
"ER_per_IP": 0.24812,
"H_per_IP": 0.67669,
"BB_per_IP": 0.20301,
"SO_per_IP": 0.90226,
"HR_per_IP": 0.02256
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.208,
"predicted_H": 0.425,
"predicted_BB": 0.151,
"predicted_SO": 0.626,
"predicted_HR": 0.037,
"predicted_ERA": 2.8036,
"predicted_WHIP": 0.8646
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5018,
"form_weight": 0.4982,
"form_reliability": 0.6406,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.911,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6406,
"prior_weight": 0.3594
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.208,
"final": 0.6055,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.425,
"final": 0.7136,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.151,
"final": 0.5771,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.626,
"final": 0.8137,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.037,
"final": 0.0184,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8036,
"final": 2.8036,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8646,
"final": 0.8646,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.120 | 4.000 | 3.000 | Hitting_AB | 3.229 | 5.000 | 0.771 | -1.000 |
| predicted_AVG | 0.312 | 0.000 | 0.333 | Hitting_AVG | 0.329 | 0.600 | -0.329 | -0.600 |
| predicted_BB | 0.213 | 0.000 | 0.000 | Hitting_BB | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.973 | 0.000 | 1.000 | Hitting_H | 1.062 | 3.000 | -1.062 | -3.000 |
| predicted_HR | 0.053 | 0.000 | 0.000 | Hitting_HR | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_OBP | 0.356 | 0.200 | 0.333 | Hitting_OBP | 0.383 | 0.600 | -0.183 | -0.400 |
| predicted_R | 0.427 | 0.000 | 1.000 | Hitting_R | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.453 | 1.000 | -0.453 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.333 | Hitting_SLG | 0.453 | 0.600 | -0.453 | -0.600 |
| predicted_SO | 0.747 | 1.000 | 1.000 | Hitting_SO | 0.764 | 0.000 | 0.236 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.1200 -> 4.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_H: 0.9730 -> 0.0000 (deboost -0.9730, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.1200 -> 3.2223 (boost 0.1023, better) | predicted_SLG: 0.4270 -> 0.4122 (deboost -0.0148, worse) | Final model input calibrated with local 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.3529 -> 0.3470 (deboost -0.0059, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.7123 -> 1.0000 (boost 0.2877, worse) | predicted_RBI: 0.3723 -> 0.0000 (deboost -0.3723, worse) | AB rounded to 3 (raw=3.22), rates preserved: AVG=0.304 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4505 -> 0.0000 (deboost -0.4505, 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.3470 -> 0.3520 (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 | 3 | 2 | 1 | 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3520 -> 0.3470 (deboost -0.0050, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677942",
"player_name": "Blaze Alexander",
"position": "2B",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.027,
"predicted_AB": 3.12,
"predicted_AVG": 0.312,
"predicted_BB": 0.213,
"predicted_H": 0.973,
"predicted_HR": 0.053,
"predicted_OBP": 0.356,
"predicted_R": 0.427,
"predicted_RBI": 0.4,
"predicted_SLG": 0.427,
"predicted_SO": 0.747
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1281,
"predicted_3B": 0.0228,
"predicted_AB": 3.2223,
"predicted_AVG": 0.3061,
"predicted_BB": 0.2138,
"predicted_H": 0.9852,
"predicted_HBP": 0.051,
"predicted_HR": 0.0559,
"predicted_OBP": 0.3529,
"predicted_R": 0.4551,
"predicted_RBI": 0.3761,
"predicted_SLG": 0.4122,
"predicted_SO": 0.7114
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1281,
"delta": -0.0189,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0228,
"delta": -0.0042,
"percent_delta": -0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.12,
"after": 3.2223,
"delta": 0.1023,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.312,
"after": 0.3061,
"delta": -0.0059,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.2138,
"delta": 0.0008,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.973,
"after": 0.9852,
"delta": 0.0122,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.053,
"after": 0.0559,
"delta": 0.0029,
"percent_delta": 0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3529,
"delta": -0.0031,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.4551,
"delta": 0.0281,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3761,
"delta": -0.0239,
"percent_delta": -0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4122,
"delta": -0.0148,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 0.7114,
"delta": -0.0356,
"percent_delta": -0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.12,
"after": 3.2223,
"delta": 0.1023,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4122,
"delta": -0.0148,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1281,
"predicted_3B": 0.0228,
"predicted_AB": 3.2223,
"predicted_AVG": 0.3037,
"predicted_BB": 0.2135,
"predicted_H": 0.9786,
"predicted_HBP": 0.051,
"predicted_HR": 0.055,
"predicted_OBP": 0.347,
"predicted_R": 0.4505,
"predicted_RBI": 0.3723,
"predicted_SLG": 0.4088,
"predicted_SO": 0.7123
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1281,
"after": 0.1281,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2223,
"after": 3.2223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3061,
"after": 0.3037,
"delta": -0.0024,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2138,
"after": 0.2135,
"delta": -0.0003,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9852,
"after": 0.9786,
"delta": -0.0066,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0559,
"after": 0.055,
"delta": -0.0009,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3529,
"after": 0.347,
"delta": -0.0059,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4551,
"after": 0.4505,
"delta": -0.0046,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3761,
"after": 0.3723,
"delta": -0.0038,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4122,
"after": 0.4088,
"delta": -0.0034,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7114,
"after": 0.7123,
"delta": 0.0009,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3529,
"after": 0.347,
"delta": -0.0059,
"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.22), rates preserved: AVG=0.304 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.1281,
"after": 0.0,
"delta": -0.1281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0,
"delta": -0.0228,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2223,
"after": 3.0,
"delta": -0.2223,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2135,
"after": 0.0,
"delta": -0.2135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9786,
"after": 1.0,
"delta": 0.0214,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3723,
"after": 0.0,
"delta": -0.3723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7123,
"after": 1.0,
"delta": 0.2877,
"percent_delta": 0.4039,
"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.7123,
"after": 1.0,
"delta": 0.2877,
"percent_delta": 0.4039,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3723,
"after": 0.0,
"delta": -0.3723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4505,
"after": 0.0,
"delta": -0.4505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4505,
"after": 0.0,
"delta": -0.4505,
"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": 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": 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.304,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.352,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.409,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3037,
"after": 0.304,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.352,
"delta": 0.005,
"percent_delta": 0.0144,
"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.4088,
"after": 0.409,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.347,
"after": 0.352,
"delta": 0.005,
"percent_delta": 0.0144,
"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": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.3037,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.347,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4088,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.3037,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.347,
"delta": -0.005,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4088,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.347,
"delta": -0.005,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.312,
"after": 0.3037,
"delta": -0.0083,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.347,
"delta": -0.009,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4088,
"delta": -0.0182,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.973,
"after": 0.0,
"delta": -0.973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.120 | - |
| predicted_AVG | 0.312 | - |
| predicted_BB | 0.213 | - |
| predicted_H | 0.973 | - |
| predicted_HR | 0.053 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.427 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.747 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | -0.019 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.222 | 0.102 |
| predicted_AVG | 0.306 | -0.006 |
| predicted_BB | 0.214 | 0.001 |
| predicted_H | 0.985 | 0.012 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.056 | 0.003 |
| predicted_OBP | 0.353 | -0.003 |
| predicted_R | 0.455 | 0.028 |
| predicted_RBI | 0.376 | -0.024 |
| predicted_SLG | 0.412 | -0.015 |
| predicted_SO | 0.711 | -0.036 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.222 | 0.000 |
| predicted_AVG | 0.304 | -0.002 |
| predicted_BB | 0.213 | -0.000 |
| predicted_H | 0.979 | -0.007 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.055 | -0.001 |
| predicted_OBP | 0.347 | -0.006 |
| predicted_R | 0.451 | -0.005 |
| predicted_RBI | 0.372 | -0.004 |
| predicted_SLG | 0.409 | -0.003 |
| predicted_SO | 0.712 | 0.001 |
AB rounded to 3 (raw=3.22), rates preserved: AVG=0.304 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 | 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.128 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.222 |
| predicted_AVG | 0.304 | 0.000 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.021 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.352 | 0.005 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 0.000 | -0.372 |
| predicted_SLG | 0.409 | 0.000 |
| predicted_SO | 1.000 | 0.288 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.2778 | 0.3158 | 0.2778 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 0.000 | 0.000 | 1.000 | 2.000 | 8.000 | 2.000 | 5.000 | 0.3056 | 0.3590 | 0.3889 | 0.3056 | 0.0278 | 0.0556 | 0.0556 | 0.1389 |
| season | 0.60 | 75 | - | 234.000 | 73.000 | 11.000 | 2.000 | 4.000 | 30.000 | 32.000 | 16.000 | 56.000 | 0.3120 | 0.3647 | 0.4274 | 0.3120 | 0.0171 | 0.1282 | 0.0684 | 0.2393 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.3640 |
| predicted_AVG | 0.2980 |
| predicted_BB | 0.2150 |
| predicted_H | 1.0020 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.3487 |
| predicted_R | 0.4940 |
| predicted_RBI | 0.3430 |
| predicted_SLG | 0.3916 |
| predicted_SO | 0.6620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.1020 | 0.1281 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0228 | model_form_blend |
| predicted_AB | 3.1200 | 3.3640 | 3.2223 | model_form_blend |
| predicted_AVG | 0.3120 | 0.2980 | 0.3061 | model_form_blend |
| predicted_BB | 0.2130 | 0.2150 | 0.2138 | model_form_blend |
| predicted_H | 0.9730 | 1.0020 | 0.9852 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0530 | 0.0600 | 0.0559 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3487 | 0.3529 | model_form_blend |
| predicted_R | 0.4270 | 0.4940 | 0.4551 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3430 | 0.3761 | model_form_blend |
| predicted_SLG | 0.4270 | 0.3916 | 0.4122 | model_form_blend |
| predicted_SO | 0.7470 | 0.6620 | 0.7114 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 258 |
| Season rows before report date | 258 |
| Report year | 2026 |
| Profile rows used | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 677942 |
| playerID | 677942 |
| playerName | Blaze Alexander |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.348 |
| sl_xwoba | 0.358 |
| sl_xba | 0.307 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 40.9 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 8.9 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 56.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.124 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 3.171 | 5.000 | 3.000 | Hitting_AB | 3.338 | 3.000 | 1.662 | 2.000 |
| predicted_AVG | 0.222 | 0.200 | 0.333 | Hitting_AVG | 0.227 | 0.333 | -0.027 | -0.133 |
| predicted_BB | 0.248 | 0.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.705 | 1.000 | 1.000 | Hitting_H | 0.757 | 1.000 | 0.243 | 0.000 |
| predicted_HR | 0.181 | 1.000 | 0.000 | Hitting_HR | 0.191 | 0.000 | 0.809 | 1.000 |
| predicted_OBP | 0.279 | 0.200 | 0.333 | Hitting_OBP | 0.294 | 0.333 | -0.094 | -0.133 |
| predicted_R | 0.495 | 1.000 | 1.000 | Hitting_R | 0.538 | 0.000 | 0.462 | 1.000 |
| predicted_RBI | 0.524 | 3.000 | 1.000 | Hitting_RBI | 0.555 | 0.000 | 2.445 | 3.000 |
| predicted_SLG | 0.450 | 0.800 | 0.333 | Hitting_SLG | 0.461 | 0.333 | 0.339 | 0.467 |
| predicted_SO | 1.114 | 2.000 | 1.000 | Hitting_SO | 1.130 | 0.000 | 0.870 | 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 | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5240 -> 3.0000 (boost 2.4760, better) |
| Biggest Deboost | predicted_BB: 0.2480 -> 0.0000 (deboost -0.2480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7050 -> 0.7730 (boost 0.0680, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3025 -> 0.2939 (deboost -0.0086, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.5602 -> 1.0000 (boost 0.4398, better) | predicted_BB: 0.2563 -> 0.0000 (deboost -0.2563, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.238 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5523 -> 1.0000 (boost 0.4477, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 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.2939 -> 0.3000 (boost 0.0061, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3000 -> 0.2939 (deboost -0.0061, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691723",
"player_name": "Coby Mayo",
"position": "DH",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.029,
"predicted_AB": 3.171,
"predicted_AVG": 0.222,
"predicted_BB": 0.248,
"predicted_H": 0.705,
"predicted_HR": 0.181,
"predicted_OBP": 0.279,
"predicted_R": 0.495,
"predicted_RBI": 0.524,
"predicted_SLG": 0.45,
"predicted_SO": 1.114
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1142,
"predicted_3B": 0.0243,
"predicted_AB": 3.2279,
"predicted_AVG": 0.2389,
"predicted_BB": 0.2566,
"predicted_H": 0.773,
"predicted_HBP": 0.102,
"predicted_HR": 0.1827,
"predicted_OBP": 0.3025,
"predicted_R": 0.5579,
"predicted_RBI": 0.5659,
"predicted_SLG": 0.459,
"predicted_SO": 1.0905
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.1142,
"delta": -0.0098,
"percent_delta": -0.079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0243,
"delta": -0.0047,
"percent_delta": -0.1621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.171,
"after": 3.2279,
"delta": 0.0569,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2389,
"delta": 0.0169,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.248,
"after": 0.2566,
"delta": 0.0086,
"percent_delta": 0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.705,
"after": 0.773,
"delta": 0.068,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.181,
"after": 0.1827,
"delta": 0.0017,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.3025,
"delta": 0.0235,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.5579,
"delta": 0.0629,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.524,
"after": 0.5659,
"delta": 0.0419,
"percent_delta": 0.08,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.459,
"delta": 0.009,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.114,
"after": 1.0905,
"delta": -0.0235,
"percent_delta": -0.0211,
"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.705,
"after": 0.773,
"delta": 0.068,
"percent_delta": 0.0965,
"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": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1142,
"predicted_3B": 0.0243,
"predicted_AB": 3.2279,
"predicted_AVG": 0.2379,
"predicted_BB": 0.2563,
"predicted_H": 0.7678,
"predicted_HBP": 0.102,
"predicted_HR": 0.1798,
"predicted_OBP": 0.2939,
"predicted_R": 0.5523,
"predicted_RBI": 0.5602,
"predicted_SLG": 0.4554,
"predicted_SO": 1.0918
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1142,
"after": 0.1142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2279,
"after": 3.2279,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2389,
"after": 0.2379,
"delta": -0.001,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2566,
"after": 0.2563,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.773,
"after": 0.7678,
"delta": -0.0052,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1827,
"after": 0.1798,
"delta": -0.0029,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.2939,
"delta": -0.0086,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5579,
"after": 0.5523,
"delta": -0.0056,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5659,
"after": 0.5602,
"delta": -0.0057,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4554,
"delta": -0.0036,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0905,
"after": 1.0918,
"delta": 0.0013,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.2939,
"delta": -0.0086,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.23), rates preserved: AVG=0.238 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.1142,
"after": 0.0,
"delta": -0.1142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0,
"delta": -0.0243,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2279,
"after": 3.0,
"delta": -0.2279,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2563,
"after": 0.0,
"delta": -0.2563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7678,
"after": 1.0,
"delta": 0.2322,
"percent_delta": 0.3024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"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.5602,
"after": 1.0,
"delta": 0.4398,
"percent_delta": 0.7851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0918,
"after": 1.0,
"delta": -0.0918,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5602,
"after": 1.0,
"delta": 0.4398,
"percent_delta": 0.7851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2563,
"after": 0.0,
"delta": -0.2563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"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.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.238,
"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.455,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2379,
"after": 0.238,
"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.2939,
"after": 0.3,
"delta": 0.0061,
"percent_delta": 0.0208,
"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.4554,
"after": 0.455,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2939,
"after": 0.3,
"delta": 0.0061,
"percent_delta": 0.0208,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 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.2379,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2939,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4554,
"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.238,
"after": 0.2379,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3,
"after": 0.2939,
"delta": -0.0061,
"percent_delta": -0.0202,
"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.455,
"after": 0.4554,
"delta": 0.0004,
"percent_delta": 0.0009,
"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.3,
"after": 0.2939,
"delta": -0.0061,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.171,
"after": 5.0,
"delta": 1.829,
"percent_delta": 0.5768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2379,
"delta": 0.0159,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.705,
"after": 1.0,
"delta": 0.295,
"percent_delta": 0.4184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.181,
"after": 1.0,
"delta": 0.819,
"percent_delta": 4.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2939,
"delta": 0.0149,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.524,
"after": 3.0,
"delta": 2.476,
"percent_delta": 4.7252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4554,
"delta": 0.0054,
"percent_delta": 0.012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.114,
"after": 2.0,
"delta": 0.886,
"percent_delta": 0.7953,
"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_RBI",
"before": 0.524,
"after": 3.0,
"delta": 2.476,
"percent_delta": 4.7252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"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.124 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.171 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.248 | - |
| predicted_H | 0.705 | - |
| predicted_HR | 0.181 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.524 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 1.114 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | -0.010 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.228 | 0.057 |
| predicted_AVG | 0.239 | 0.017 |
| predicted_BB | 0.257 | 0.009 |
| predicted_H | 0.773 | 0.068 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.183 | 0.002 |
| predicted_OBP | 0.302 | 0.023 |
| predicted_R | 0.558 | 0.063 |
| predicted_RBI | 0.566 | 0.042 |
| predicted_SLG | 0.459 | 0.009 |
| predicted_SO | 1.091 | -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.114 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.228 | 0.000 |
| predicted_AVG | 0.238 | -0.001 |
| predicted_BB | 0.256 | -0.000 |
| predicted_H | 0.768 | -0.005 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.180 | -0.003 |
| predicted_OBP | 0.294 | -0.009 |
| predicted_R | 0.552 | -0.006 |
| predicted_RBI | 0.560 | -0.006 |
| predicted_SLG | 0.455 | -0.004 |
| predicted_SO | 1.092 | 0.001 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.238 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.114 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 3.000 | -0.228 |
| predicted_AVG | 0.238 | 0.000 |
| predicted_BB | 0.000 | -0.256 |
| predicted_H | 1.000 | 0.232 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.300 | 0.006 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 1.000 | 0.440 |
| predicted_SLG | 0.455 | -0.000 |
| predicted_SO | 1.000 | -0.092 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 2.000 | 5.000 | 0.3529 | 0.4500 | 0.5294 | 0.3529 | 0.0588 | 0.2353 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 1.000 | 0.000 | 2.000 | 8.000 | 8.000 | 2.000 | 10.000 | 0.2941 | 0.3684 | 0.5000 | 0.2941 | 0.0588 | 0.2353 | 0.0588 | 0.2941 |
| season | 0.60 | 105 | - | 333.000 | 74.000 | 13.000 | 3.000 | 19.000 | 55.000 | 52.000 | 26.000 | 117.000 | 0.2222 | 0.2877 | 0.4505 | 0.2222 | 0.0571 | 0.1652 | 0.0781 | 0.3513 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.3040 |
| predicted_AVG | 0.2616 |
| predicted_BB | 0.2680 |
| predicted_H | 0.8640 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.3340 |
| predicted_R | 0.6420 |
| predicted_RBI | 0.6220 |
| predicted_SLG | 0.4710 |
| predicted_SO | 1.0590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1240 | 0.1010 | 0.1142 | model_form_blend |
| predicted_3B | 0.0290 | 0.0180 | 0.0243 | model_form_blend |
| predicted_AB | 3.1710 | 3.3040 | 3.2279 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2616 | 0.2389 | model_form_blend |
| predicted_BB | 0.2480 | 0.2680 | 0.2566 | model_form_blend |
| predicted_H | 0.7050 | 0.8640 | 0.7730 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.1810 | 0.1850 | 0.1827 | model_form_blend |
| predicted_OBP | 0.2790 | 0.3340 | 0.3025 | model_form_blend |
| predicted_R | 0.4950 | 0.6420 | 0.5579 | model_form_blend |
| predicted_RBI | 0.5240 | 0.6220 | 0.5659 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4710 | 0.4590 | model_form_blend |
| predicted_SO | 1.1140 | 1.0590 | 1.0905 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 346 |
| Season rows before report date | 346 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| 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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 691723 |
| playerID | 691723 |
| playerName | Coby Mayo |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.316 |
| sl_xwoba | 0.32 |
| sl_xba | 0.228 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 12.7 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 46.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.089 | 0.000 | 0.000 | Hitting_2B | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.420 | 5.000 | 5.000 | Hitting_AB | 5.000 | 5.000 | 0.000 | 0.000 |
| predicted_AVG | 0.216 | 0.000 | 0.200 | Hitting_AVG | 0.200 | 0.200 | -0.200 | -0.200 |
| predicted_BB | 0.375 | 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.950 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.200 | Hitting_OBP | 0.200 | 0.200 | -0.200 | -0.200 |
| predicted_R | 0.429 | 0.000 | 1.000 | Hitting_R | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_SLG | 0.385 | 0.000 | 0.200 | Hitting_SLG | 0.400 | 0.400 | -0.400 | -0.400 |
| predicted_SO | 0.964 | 1.000 | 1.000 | Hitting_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 4.4200 -> 5.0000 (boost 0.5800, better) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.4200 -> 4.0539 (deboost -0.3661, worse) | Final model input calibrated with local 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.3876 -> 0.3574 (deboost -0.0302, 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.8629 -> 1.0000 (boost 0.1371, better) | predicted_RBI: 0.4942 -> 0.0000 (deboost -0.4942, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4383 -> 0.0000 (deboost -0.4383, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 3 | 3 | 0 | 3 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 6 | 0 | 6 | 0 | 6 | - | predicted_AB: 5.0000 -> 4.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_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.3350 -> 0.3574 (boost 0.0224, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673357",
"player_name": "Luis Robert Jr.",
"position": "CF",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.089,
"predicted_3B": 0.0,
"predicted_AB": 4.42,
"predicted_AVG": 0.216,
"predicted_BB": 0.375,
"predicted_H": 0.95,
"predicted_HR": 0.16,
"predicted_OBP": 0.285,
"predicted_R": 0.429,
"predicted_RBI": 0.52,
"predicted_SLG": 0.385,
"predicted_SO": 0.964
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1098,
"predicted_3B": 0.0008,
"predicted_AB": 4.0539,
"predicted_AVG": 0.2148,
"predicted_BB": 0.3659,
"predicted_H": 0.8687,
"predicted_HBP": 0.004,
"predicted_HR": 0.1608,
"predicted_OBP": 0.2841,
"predicted_R": 0.4427,
"predicted_RBI": 0.4992,
"predicted_SLG": 0.3876,
"predicted_SO": 0.9723
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.1098,
"delta": 0.0208,
"percent_delta": 0.2337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.0539,
"delta": -0.3661,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2148,
"delta": -0.0012,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.3659,
"delta": -0.0091,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.8687,
"delta": -0.0813,
"percent_delta": -0.0856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1608,
"delta": 0.0008,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2841,
"delta": -0.0009,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.4427,
"delta": 0.0137,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.4992,
"delta": -0.0208,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3876,
"delta": 0.0026,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.964,
"after": 0.9723,
"delta": 0.0083,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.0539,
"delta": -0.3661,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1098,
"predicted_3B": 0.0008,
"predicted_AB": 4.0539,
"predicted_AVG": 0.2129,
"predicted_BB": 0.3655,
"predicted_H": 0.8629,
"predicted_HBP": 0.004,
"predicted_HR": 0.1582,
"predicted_OBP": 0.2779,
"predicted_R": 0.4383,
"predicted_RBI": 0.4942,
"predicted_SLG": 0.3574,
"predicted_SO": 0.9735
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1098,
"after": 0.1098,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0539,
"after": 4.0539,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2148,
"after": 0.2129,
"delta": -0.0019,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3659,
"after": 0.3655,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8687,
"after": 0.8629,
"delta": -0.0058,
"percent_delta": -0.0067,
"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.1608,
"after": 0.1582,
"delta": -0.0026,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2841,
"after": 0.2779,
"delta": -0.0062,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4427,
"after": 0.4383,
"delta": -0.0044,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4992,
"after": 0.4942,
"delta": -0.005,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3876,
"after": 0.3574,
"delta": -0.0302,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9723,
"after": 0.9735,
"delta": 0.0012,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3876,
"after": 0.3574,
"delta": -0.0302,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1098,
"after": 0.0,
"delta": -0.1098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0539,
"after": 4.0,
"delta": -0.0539,
"percent_delta": -0.0133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3655,
"after": 0.0,
"delta": -0.3655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8629,
"after": 1.0,
"delta": 0.1371,
"percent_delta": 0.1589,
"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.1582,
"after": 0.0,
"delta": -0.1582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4942,
"after": 0.0,
"delta": -0.4942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9735,
"after": 1.0,
"delta": 0.0265,
"percent_delta": 0.0272,
"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.8629,
"after": 1.0,
"delta": 0.1371,
"percent_delta": 0.1589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4942,
"after": 0.0,
"delta": -0.4942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4383,
"after": 0.0,
"delta": -0.4383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4383,
"after": 0.0,
"delta": -0.4383,
"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": 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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"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": 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": 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.195,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.263,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.335,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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_AVG",
"before": 0.2129,
"after": 0.195,
"delta": -0.0179,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2779,
"after": 0.263,
"delta": -0.0149,
"percent_delta": -0.0536,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3574,
"after": 0.335,
"delta": -0.0224,
"percent_delta": -0.0627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.2129,
"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.2779,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3574,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.195,
"after": 0.2129,
"delta": 0.0179,
"percent_delta": 0.0915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2779,
"delta": 0.0149,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3574,
"delta": 0.0224,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.335,
"after": 0.3574,
"delta": 0.0224,
"percent_delta": 0.067,
"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.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 5.0,
"delta": 0.58,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2129,
"delta": -0.0031,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2779,
"delta": -0.0071,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3574,
"delta": -0.0276,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"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": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 5.0,
"delta": 0.58,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.375 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.964 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.054 | -0.366 |
| predicted_AVG | 0.215 | -0.001 |
| predicted_BB | 0.366 | -0.009 |
| predicted_H | 0.869 | -0.081 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.161 | 0.001 |
| predicted_OBP | 0.284 | -0.001 |
| predicted_R | 0.443 | 0.014 |
| predicted_RBI | 0.499 | -0.021 |
| predicted_SLG | 0.388 | 0.003 |
| predicted_SO | 0.972 | 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.110 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.054 | 0.000 |
| predicted_AVG | 0.213 | -0.002 |
| predicted_BB | 0.365 | -0.000 |
| predicted_H | 0.863 | -0.006 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.158 | -0.003 |
| predicted_OBP | 0.278 | -0.006 |
| predicted_R | 0.438 | -0.004 |
| predicted_RBI | 0.494 | -0.005 |
| predicted_SLG | 0.357 | -0.030 |
| predicted_SO | 0.974 | 0.001 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.195 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.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.110 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.054 |
| predicted_AVG | 0.195 | -0.018 |
| predicted_BB | 0.000 | -0.365 |
| predicted_H | 1.000 | 0.137 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.263 | -0.015 |
| predicted_R | 0.000 | -0.438 |
| predicted_RBI | 0.000 | -0.494 |
| predicted_SLG | 0.335 | -0.022 |
| predicted_SO | 1.000 | 0.026 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 6.000 | 0.1176 | 0.1667 | 0.1765 | 0.1177 | 0.0000 | 0.1177 | 0.0588 | 0.3529 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 2.000 | 0.000 | 3.000 | 6.000 | 6.000 | 5.000 | 9.000 | 0.2571 | 0.3500 | 0.5714 | 0.2571 | 0.0857 | 0.1714 | 0.1429 | 0.2571 |
| season | 0.60 | 56 | - | 198.000 | 44.000 | 5.000 | 0.000 | 10.000 | 25.000 | 24.000 | 21.000 | 54.000 | 0.2222 | 0.2941 | 0.3990 | 0.2222 | 0.0505 | 0.1263 | 0.1061 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1390 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5380 |
| predicted_AVG | 0.2130 |
| predicted_BB | 0.3530 |
| predicted_H | 0.7540 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.2829 |
| predicted_R | 0.4620 |
| predicted_RBI | 0.4700 |
| predicted_SLG | 0.3912 |
| predicted_SO | 0.9840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.1390 | 0.1098 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.4200 | 3.5380 | 4.0539 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2130 | 0.2148 | model_form_blend |
| predicted_BB | 0.3750 | 0.3530 | 0.3659 | model_form_blend |
| predicted_H | 0.9500 | 0.7540 | 0.8687 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1600 | 0.1620 | 0.1608 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2829 | 0.2841 | model_form_blend |
| predicted_R | 0.4290 | 0.4620 | 0.4427 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4700 | 0.4992 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3912 | 0.3876 | model_form_blend |
| predicted_SO | 0.9640 | 0.9840 | 0.9723 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 2 |
| 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 | LF |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 673357 |
| playerID | 673357 |
| playerName | Luis Robert Jr. |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.308 |
| sl_xwoba | 0.317 |
| sl_xba | 0.235 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 50.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.129 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.052 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.284 | 3.000 | 3.000 | Hitting_AB | 3.477 | 0.000 | -0.477 | 3.000 |
| predicted_AVG | 0.220 | 0.000 | 0.333 | Hitting_AVG | 0.227 | - | -0.227 | - |
| predicted_BB | 0.328 | 0.000 | 1.000 | Hitting_BB | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.724 | 0.000 | 1.000 | Hitting_H | 0.788 | 0.000 | -0.788 | 0.000 |
| predicted_HR | 0.069 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.291 | 0.000 | 0.500 | Hitting_OBP | 0.301 | - | -0.301 | - |
| predicted_R | 0.448 | 1.000 | 0.000 | Hitting_R | 0.496 | 1.000 | 0.504 | 0.000 |
| predicted_RBI | 0.448 | 1.000 | 0.000 | Hitting_RBI | 0.464 | 0.000 | 0.536 | 1.000 |
| predicted_SLG | 0.354 | 0.000 | 0.333 | Hitting_SLG | 0.360 | - | -0.360 | - |
| predicted_SO | 0.931 | 1.000 | 1.000 | Hitting_SO | 0.951 | 0.000 | 0.049 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_R: 0.4480 -> 1.0000 (boost 0.5520, better) |
| Biggest Deboost | predicted_H: 0.7240 -> 0.0000 (deboost -0.7240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9310 -> 1.0141 (boost 0.0831, worse) | predicted_AVG: 0.2200 -> 0.2065 (deboost -0.0135, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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 | 1 | 5 | 1 | 5 | predicted_H: 0.6819 -> 1.0000 (boost 0.3181, better) | predicted_RBI: 0.4836 -> 0.0000 (deboost -0.4836, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.205 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4286 -> 0.0000 (deboost -0.4286, 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2850 -> 0.2900 (boost 0.0050, better) | 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 | 3 | 1 | 2 | 1 | predicted_R: 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.2900 -> 0.2850 (deboost -0.0050, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665750",
"player_name": "Leody Taveras",
"position": "RF",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.052,
"predicted_AB": 3.284,
"predicted_AVG": 0.22,
"predicted_BB": 0.328,
"predicted_H": 0.724,
"predicted_HR": 0.069,
"predicted_OBP": 0.291,
"predicted_R": 0.448,
"predicted_RBI": 0.448,
"predicted_SLG": 0.354,
"predicted_SO": 0.931
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1587,
"predicted_3B": 0.043,
"predicted_AB": 3.3258,
"predicted_AVG": 0.2065,
"predicted_BB": 0.3723,
"predicted_H": 0.6865,
"predicted_HBP": 0.007,
"predicted_HR": 0.0673,
"predicted_OBP": 0.2867,
"predicted_R": 0.4329,
"predicted_RBI": 0.4885,
"predicted_SLG": 0.3405,
"predicted_SO": 1.0141
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1587,
"delta": 0.0297,
"percent_delta": 0.2302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.052,
"after": 0.043,
"delta": -0.009,
"percent_delta": -0.1731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.284,
"after": 3.3258,
"delta": 0.0418,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2065,
"delta": -0.0135,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.3723,
"delta": 0.0443,
"percent_delta": 0.1351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.724,
"after": 0.6865,
"delta": -0.0375,
"percent_delta": -0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0673,
"delta": -0.0017,
"percent_delta": -0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2867,
"delta": -0.0043,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.4329,
"delta": -0.0151,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.448,
"after": 0.4885,
"delta": 0.0405,
"percent_delta": 0.0904,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3405,
"delta": -0.0135,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 1.0141,
"delta": 0.0831,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.931,
"after": 1.0141,
"delta": 0.0831,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2065,
"delta": -0.0135,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1587,
"predicted_3B": 0.043,
"predicted_AB": 3.3258,
"predicted_AVG": 0.205,
"predicted_BB": 0.3719,
"predicted_H": 0.6819,
"predicted_HBP": 0.007,
"predicted_HR": 0.0662,
"predicted_OBP": 0.285,
"predicted_R": 0.4286,
"predicted_RBI": 0.4836,
"predicted_SLG": 0.3384,
"predicted_SO": 1.0153
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1587,
"after": 0.1587,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3258,
"after": 3.3258,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2065,
"after": 0.205,
"delta": -0.0015,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3723,
"after": 0.3719,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6865,
"after": 0.6819,
"delta": -0.0046,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0673,
"after": 0.0662,
"delta": -0.0011,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2867,
"after": 0.285,
"delta": -0.0017,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4329,
"after": 0.4286,
"delta": -0.0043,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4885,
"after": 0.4836,
"delta": -0.0049,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3405,
"after": 0.3384,
"delta": -0.0021,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0141,
"after": 1.0153,
"delta": 0.0012,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.33), rates preserved: AVG=0.205 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.1587,
"after": 0.0,
"delta": -0.1587,
"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.3258,
"after": 3.0,
"delta": -0.3258,
"percent_delta": -0.098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6819,
"after": 1.0,
"delta": 0.3181,
"percent_delta": 0.4665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0662,
"after": 0.0,
"delta": -0.0662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4836,
"after": 0.0,
"delta": -0.4836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0153,
"after": 1.0,
"delta": -0.0153,
"percent_delta": -0.0151,
"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.6819,
"after": 1.0,
"delta": 0.3181,
"percent_delta": 0.4665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4836,
"after": 0.0,
"delta": -0.4836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4286,
"after": 0.0,
"delta": -0.4286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4286,
"after": 0.0,
"delta": -0.4286,
"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.205,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.338,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.205,
"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_OBP",
"before": 0.285,
"after": 0.29,
"delta": 0.005,
"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_SLG",
"before": 0.3384,
"after": 0.338,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.29,
"delta": 0.005,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.205,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3384,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.205,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.285,
"delta": -0.005,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3384,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.29,
"after": 0.285,
"delta": -0.005,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.284,
"after": 3.0,
"delta": -0.284,
"percent_delta": -0.0865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.205,
"delta": -0.015,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.0,
"delta": -0.328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.724,
"after": 0.0,
"delta": -0.724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.285,
"delta": -0.006,
"percent_delta": -0.0206,
"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.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3384,
"delta": -0.0156,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.931,
"after": 1.0,
"delta": 0.069,
"percent_delta": 0.0741,
"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_R",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.724,
"after": 0.0,
"delta": -0.724,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.052 | - |
| predicted_AB | 3.284 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 0.724 | - |
| predicted_HR | 0.069 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.448 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 0.931 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.030 |
| predicted_3B | 0.043 | -0.009 |
| predicted_AB | 3.326 | 0.042 |
| predicted_AVG | 0.206 | -0.014 |
| predicted_BB | 0.372 | 0.044 |
| predicted_H | 0.686 | -0.037 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.067 | -0.002 |
| predicted_OBP | 0.287 | -0.004 |
| predicted_R | 0.433 | -0.015 |
| predicted_RBI | 0.488 | 0.040 |
| predicted_SLG | 0.341 | -0.013 |
| predicted_SO | 1.014 | 0.083 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.326 | 0.000 |
| predicted_AVG | 0.205 | -0.002 |
| predicted_BB | 0.372 | -0.000 |
| predicted_H | 0.682 | -0.005 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.066 | -0.001 |
| predicted_OBP | 0.285 | -0.002 |
| predicted_R | 0.429 | -0.004 |
| predicted_RBI | 0.484 | -0.005 |
| predicted_SLG | 0.338 | -0.002 |
| predicted_SO | 1.015 | 0.001 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.205 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 | 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.159 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 3.000 | -0.326 |
| predicted_AVG | 0.205 | 0.000 |
| predicted_BB | 0.000 | -0.372 |
| predicted_H | 1.000 | 0.318 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.290 | 0.005 |
| predicted_R | 0.000 | -0.429 |
| predicted_RBI | 0.000 | -0.484 |
| predicted_SLG | 0.338 | -0.000 |
| predicted_SO | 1.000 | -0.015 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 2.000 | 0.000 | 0.000 | 3.000 | 1.000 | 4.000 | 8.000 | 0.1250 | 0.3000 | 0.2500 | 0.1250 | 0.0000 | 0.1875 | 0.2500 | 0.5000 |
| last_10 | 0.20 | 10 | - | 37.000 | 5.000 | 2.000 | 0.000 | 1.000 | 8.000 | 5.000 | 4.000 | 13.000 | 0.1351 | 0.2195 | 0.2703 | 0.1351 | 0.0270 | 0.2162 | 0.1081 | 0.3513 |
| season | 0.60 | 116 | - | 381.000 | 84.000 | 15.000 | 6.000 | 8.000 | 52.000 | 52.000 | 38.000 | 108.000 | 0.2205 | 0.2922 | 0.3543 | 0.2205 | 0.0210 | 0.1365 | 0.0997 | 0.2835 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.3810 |
| predicted_AVG | 0.1886 |
| predicted_BB | 0.4310 |
| predicted_H | 0.6370 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.2810 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3227 |
| predicted_SO | 1.1240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1980 | 0.1587 | model_form_blend |
| predicted_3B | 0.0520 | 0.0310 | 0.0430 | model_form_blend |
| predicted_AB | 3.2840 | 3.3810 | 3.3258 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1886 | 0.2065 | model_form_blend |
| predicted_BB | 0.3280 | 0.4310 | 0.3723 | model_form_blend |
| predicted_H | 0.7240 | 0.6370 | 0.6865 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0690 | 0.0650 | 0.0673 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2810 | 0.2867 | model_form_blend |
| predicted_R | 0.4480 | 0.4130 | 0.4329 | model_form_blend |
| predicted_RBI | 0.4480 | 0.5420 | 0.4885 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3227 | 0.3405 | model_form_blend |
| predicted_SO | 0.9310 | 1.1240 | 1.0141 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 405 |
| Season rows before report date | 405 |
| 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 | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-RF |
| gameID | 20260902_BAL@COL |
| game_type | ph |
| mlbID | 665750 |
| note | Ran for Basallo in the 11th. |
| playerID | 665750 |
| playerName | Leody Taveras |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.29 |
| sl_xwoba | 0.277 |
| sl_xba | 0.214 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 47.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.178 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.037 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 4.330 | 4.000 | 5.000 | Hitting_AB | 4.063 | 4.000 | -0.063 | 0.000 |
| predicted_AVG | 0.211 | 0.250 | 0.200 | Hitting_AVG | 0.218 | 0.000 | 0.032 | 0.250 |
| predicted_BB | 0.422 | 0.000 | 1.000 | Hitting_BB | 0.431 | 1.000 | -0.431 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.910 | 1.000 | 1.000 | Hitting_H | 0.887 | 0.000 | 0.113 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.302 | 0.250 | 0.333 | Hitting_OBP | 0.305 | 0.200 | -0.055 | 0.050 |
| predicted_R | 0.585 | 1.000 | 1.000 | Hitting_R | 0.621 | 0.000 | 0.379 | 1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_SLG | 0.402 | 0.250 | 0.200 | Hitting_SLG | 0.396 | 0.000 | -0.146 | 0.250 |
| predicted_SO | 0.963 | 2.000 | 1.000 | Hitting_SO | 1.012 | 2.000 | 0.988 | 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.9630 -> 2.0000 (boost 1.0370, worse) |
| Biggest Deboost | predicted_RBI: 0.5600 -> 0.0000 (deboost -0.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.4020 -> 0.4266 (boost 0.0246, better) | predicted_AB: 4.3300 -> 4.1690 (deboost -0.1610, worse) | Final model input calibrated with local 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.4266 -> 0.4084 (deboost -0.0182, 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.5588 -> 1.0000 (boost 0.4412, better) | predicted_BB: 0.4320 -> 0.0000 (deboost -0.4320, worse) | AB rounded to 4 (raw=4.33), rates preserved: AVG=0.207 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5718 -> 1.0000 (boost 0.4282, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.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_AB: 5.0000 -> 4.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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3930 -> 0.4084 (boost 0.0154, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683002",
"player_name": "Gunnar Henderson",
"position": "SS",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.178,
"predicted_3B": 0.037,
"predicted_AB": 4.33,
"predicted_AVG": 0.211,
"predicted_BB": 0.422,
"predicted_H": 0.91,
"predicted_HR": 0.16,
"predicted_OBP": 0.302,
"predicted_R": 0.585,
"predicted_RBI": 0.56,
"predicted_SLG": 0.402,
"predicted_SO": 0.963
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1562,
"predicted_3B": 0.0558,
"predicted_AB": 4.169,
"predicted_AVG": 0.2173,
"predicted_BB": 0.4325,
"predicted_H": 0.9026,
"predicted_HBP": 0.039,
"predicted_HR": 0.1823,
"predicted_OBP": 0.3051,
"predicted_R": 0.5776,
"predicted_RBI": 0.5644,
"predicted_SLG": 0.4266,
"predicted_SO": 0.8819
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.1562,
"delta": -0.0218,
"percent_delta": -0.1225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0558,
"delta": 0.0188,
"percent_delta": 0.5081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.169,
"delta": -0.161,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2173,
"delta": 0.0063,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.422,
"after": 0.4325,
"delta": 0.0105,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9026,
"delta": -0.0074,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1823,
"delta": 0.0223,
"percent_delta": 0.1394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3051,
"delta": 0.0031,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 0.5776,
"delta": -0.0074,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5644,
"delta": 0.0044,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4266,
"delta": 0.0246,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.963,
"after": 0.8819,
"delta": -0.0811,
"percent_delta": -0.0842,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4266,
"delta": 0.0246,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.33,
"after": 4.169,
"delta": -0.161,
"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": 135
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1562,
"predicted_3B": 0.0558,
"predicted_AB": 4.169,
"predicted_AVG": 0.2151,
"predicted_BB": 0.432,
"predicted_H": 0.8966,
"predicted_HBP": 0.039,
"predicted_HR": 0.1794,
"predicted_OBP": 0.2888,
"predicted_R": 0.5718,
"predicted_RBI": 0.5588,
"predicted_SLG": 0.4084,
"predicted_SO": 0.883
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1562,
"after": 0.1562,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0558,
"after": 0.0558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.169,
"after": 4.169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2173,
"after": 0.2151,
"delta": -0.0022,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4325,
"after": 0.432,
"delta": -0.0005,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9026,
"after": 0.8966,
"delta": -0.006,
"percent_delta": -0.0066,
"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.1823,
"after": 0.1794,
"delta": -0.0029,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3051,
"after": 0.2888,
"delta": -0.0163,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5776,
"after": 0.5718,
"delta": -0.0058,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5644,
"after": 0.5588,
"delta": -0.0056,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4266,
"after": 0.4084,
"delta": -0.0182,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8819,
"after": 0.883,
"delta": 0.0011,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4266,
"after": 0.4084,
"delta": -0.0182,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.33), rates preserved: AVG=0.207 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1562,
"after": 0.0,
"delta": -0.1562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0558,
"after": 0.0,
"delta": -0.0558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.169,
"after": 4.0,
"delta": -0.169,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8966,
"after": 1.0,
"delta": 0.1034,
"percent_delta": 0.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1794,
"after": 0.0,
"delta": -0.1794,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5588,
"after": 1.0,
"delta": 0.4412,
"percent_delta": 0.7895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 1.0,
"delta": 0.117,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5588,
"after": 1.0,
"delta": 0.4412,
"percent_delta": 0.7895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5718,
"after": 1.0,
"delta": 0.4282,
"percent_delta": 0.7489,
"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.5718,
"after": 1.0,
"delta": 0.4282,
"percent_delta": 0.7489,
"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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_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": 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.207,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2151,
"after": 0.207,
"delta": -0.0081,
"percent_delta": -0.0377,
"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.2888,
"after": 0.285,
"delta": -0.0038,
"percent_delta": -0.0132,
"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.4084,
"after": 0.393,
"delta": -0.0154,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2151,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2888,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4084,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2151,
"delta": 0.0081,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2888,
"delta": 0.0038,
"percent_delta": 0.0132,
"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.393,
"after": 0.4084,
"delta": 0.0154,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.4084,
"delta": 0.0154,
"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.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.33,
"after": 4.0,
"delta": -0.33,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2151,
"delta": 0.0041,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2888,
"delta": -0.0132,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 1.0,
"delta": 0.415,
"percent_delta": 0.7094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4084,
"delta": 0.0064,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.963,
"after": 2.0,
"delta": 1.037,
"percent_delta": 1.0768,
"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.963,
"after": 2.0,
"delta": 1.037,
"percent_delta": 1.0768,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | - |
| predicted_3B | 0.037 | - |
| predicted_AB | 4.330 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.422 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.585 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.963 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | -0.022 |
| predicted_3B | 0.056 | 0.019 |
| predicted_AB | 4.169 | -0.161 |
| predicted_AVG | 0.217 | 0.006 |
| predicted_BB | 0.432 | 0.011 |
| predicted_H | 0.903 | -0.007 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.182 | 0.022 |
| predicted_OBP | 0.305 | 0.003 |
| predicted_R | 0.578 | -0.007 |
| predicted_RBI | 0.564 | 0.004 |
| predicted_SLG | 0.427 | 0.025 |
| predicted_SO | 0.882 | -0.081 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 4.169 | 0.000 |
| predicted_AVG | 0.215 | -0.002 |
| predicted_BB | 0.432 | -0.001 |
| predicted_H | 0.897 | -0.006 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.179 | -0.003 |
| predicted_OBP | 0.289 | -0.016 |
| predicted_R | 0.572 | -0.006 |
| predicted_RBI | 0.559 | -0.006 |
| predicted_SLG | 0.408 | -0.018 |
| predicted_SO | 0.883 | 0.001 |
AB rounded to 4 (raw=4.33), rates preserved: AVG=0.207 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.156 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | -0.169 |
| predicted_AVG | 0.207 | -0.008 |
| predicted_BB | 0.000 | -0.432 |
| predicted_H | 1.000 | 0.103 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.285 | -0.004 |
| predicted_R | 1.000 | 0.428 |
| predicted_RBI | 1.000 | 0.441 |
| predicted_SLG | 0.393 | -0.015 |
| predicted_SO | 1.000 | 0.117 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 1.000 | 2.000 | 5.000 | 3.000 | 3.000 | 2.000 | 0.2632 | 0.3636 | 0.6842 | 0.2632 | 0.1053 | 0.2632 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 1.000 | 1.000 | 2.000 | 6.000 | 5.000 | 4.000 | 6.000 | 0.2000 | 0.2727 | 0.4250 | 0.2000 | 0.0500 | 0.1500 | 0.1000 | 0.1500 |
| season | 0.60 | 135 | - | 542.000 | 119.000 | 24.000 | 5.000 | 21.000 | 56.000 | 79.000 | 57.000 | 130.000 | 0.2196 | 0.3033 | 0.3985 | 0.2196 | 0.0387 | 0.1033 | 0.1052 | 0.2399 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0800 |
| predicted_AB | 3.9610 |
| predicted_AVG | 0.2255 |
| predicted_BB | 0.4460 |
| predicted_H | 0.8930 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.2110 |
| predicted_OBP | 0.3091 |
| predicted_R | 0.5680 |
| predicted_RBI | 0.5700 |
| predicted_SLG | 0.4584 |
| predicted_SO | 0.7770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.1280 | 0.1562 | model_form_blend |
| predicted_3B | 0.0370 | 0.0800 | 0.0558 | model_form_blend |
| predicted_AB | 4.3300 | 3.9610 | 4.1690 | model_form_blend |
| predicted_AVG | 0.2110 | 0.2255 | 0.2173 | model_form_blend |
| predicted_BB | 0.4220 | 0.4460 | 0.4325 | model_form_blend |
| predicted_H | 0.9100 | 0.8930 | 0.9026 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1600 | 0.2110 | 0.1823 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3091 | 0.3051 | model_form_blend |
| predicted_R | 0.5850 | 0.5680 | 0.5776 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5700 | 0.5644 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4584 | 0.4266 | model_form_blend |
| predicted_SO | 0.9630 | 0.7770 | 0.8819 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 583 |
| Season rows before report date | 583 |
| Report year | 2026 |
| Profile rows used | 135 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 683002 |
| playerID | 683002 |
| playerName | Gunnar Henderson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.318 |
| sl_xba | 0.244 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 47.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 0.000 | 0.000 | Hitting_2B | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.752 | 3.000 | 5.000 | Hitting_AB | 3.808 | 4.000 | -0.808 | -1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.200 | Hitting_AVG | 0.274 | 0.250 | -0.274 | -0.250 |
| predicted_BB | 0.489 | 1.000 | 1.000 | Hitting_BB | 0.502 | 1.000 | 0.498 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 1.043 | 1.000 | -1.043 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 1.000 | Hitting_HR | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_OBP | 0.354 | 0.250 | 0.333 | Hitting_OBP | 0.365 | 0.400 | -0.115 | -0.150 |
| predicted_R | 0.599 | 0.000 | 1.000 | Hitting_R | 0.628 | 1.000 | -0.628 | -1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.673 | 1.000 | -0.673 | -1.000 |
| predicted_SLG | 0.417 | 0.000 | 0.800 | Hitting_SLG | 0.506 | 0.250 | -0.506 | -0.250 |
| predicted_SO | 1.066 | 0.000 | 1.000 | Hitting_SO | 1.073 | 0.000 | -1.073 | 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.4890 -> 1.0000 (boost 0.5110, better) |
| Biggest Deboost | predicted_SO: 1.0660 -> 0.0000 (deboost -1.0660, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2530 -> 0.2478 (deboost -0.0052, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3547 -> 0.3337 (deboost -0.0210, 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 | 5 | 3 | predicted_BB: 0.5211 -> 1.0000 (boost 0.4789, better) | predicted_HR: 0.1750 -> 0.0000 (deboost -0.1750, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.238 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5913 -> 1.0000 (boost 0.4087, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 5.0000 -> 4.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_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": "624413",
"player_name": "Pete Alonso",
"position": "1B",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.752,
"predicted_AVG": 0.253,
"predicted_BB": 0.489,
"predicted_H": 0.91,
"predicted_HR": 0.18,
"predicted_OBP": 0.354,
"predicted_R": 0.599,
"predicted_RBI": 0.61,
"predicted_SLG": 0.417,
"predicted_SO": 1.066
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1475,
"predicted_3B": 0.0004,
"predicted_AB": 3.7193,
"predicted_AVG": 0.2478,
"predicted_BB": 0.5217,
"predicted_H": 0.9,
"predicted_HBP": 0.098,
"predicted_HR": 0.1778,
"predicted_OBP": 0.3547,
"predicted_R": 0.5973,
"predicted_RBI": 0.5934,
"predicted_SLG": 0.417,
"predicted_SO": 1.059
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1475,
"delta": -0.0205,
"percent_delta": -0.122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.752,
"after": 3.7193,
"delta": -0.0327,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2478,
"delta": -0.0052,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 0.5217,
"delta": 0.0327,
"percent_delta": 0.0669,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9,
"delta": -0.01,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1778,
"delta": -0.0022,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3547,
"delta": 0.0007,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.599,
"after": 0.5973,
"delta": -0.0017,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.5934,
"delta": -0.0166,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.417,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 1.059,
"delta": -0.007,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.253,
"after": 0.2478,
"delta": -0.0052,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 137
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1475,
"predicted_3B": 0.0004,
"predicted_AB": 3.7193,
"predicted_AVG": 0.2404,
"predicted_BB": 0.5211,
"predicted_H": 0.894,
"predicted_HBP": 0.098,
"predicted_HR": 0.175,
"predicted_OBP": 0.3337,
"predicted_R": 0.5913,
"predicted_RBI": 0.5875,
"predicted_SLG": 0.4214,
"predicted_SO": 1.0603
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1475,
"after": 0.1475,
"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.7193,
"after": 3.7193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2478,
"after": 0.2404,
"delta": -0.0074,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5217,
"after": 0.5211,
"delta": -0.0006,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.894,
"delta": -0.006,
"percent_delta": -0.0067,
"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.1778,
"after": 0.175,
"delta": -0.0028,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3337,
"delta": -0.021,
"percent_delta": -0.0592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5973,
"after": 0.5913,
"delta": -0.006,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5934,
"after": 0.5875,
"delta": -0.0059,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4214,
"delta": 0.0044,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.059,
"after": 1.0603,
"delta": 0.0013,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3337,
"delta": -0.021,
"percent_delta": -0.0592,
"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.238 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1475,
"after": 0.0,
"delta": -0.1475,
"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.7193,
"after": 4.0,
"delta": 0.2807,
"percent_delta": 0.0755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5211,
"after": 1.0,
"delta": 0.4789,
"percent_delta": 0.919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.894,
"after": 1.0,
"delta": 0.106,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5875,
"after": 1.0,
"delta": 0.4125,
"percent_delta": 0.7021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0603,
"after": 1.0,
"delta": -0.0603,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5211,
"after": 1.0,
"delta": 0.4789,
"percent_delta": 0.919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5913,
"after": 1.0,
"delta": 0.4087,
"percent_delta": 0.6912,
"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.5913,
"after": 1.0,
"delta": 0.4087,
"percent_delta": 0.6912,
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.238,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.336,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.425,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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_AVG",
"before": 0.2404,
"after": 0.238,
"delta": -0.0024,
"percent_delta": -0.01,
"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.3337,
"after": 0.336,
"delta": 0.0023,
"percent_delta": 0.0069,
"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.4214,
"after": 0.425,
"delta": 0.0036,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2404,
"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.3337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4214,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2404,
"delta": 0.0024,
"percent_delta": 0.0099,
"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.336,
"after": 0.3337,
"delta": -0.0023,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4214,
"delta": -0.0036,
"percent_delta": -0.0085,
"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.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.752,
"after": 3.0,
"delta": -0.752,
"percent_delta": -0.2004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2404,
"delta": -0.0126,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3337,
"delta": -0.0203,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.599,
"after": 0.0,
"delta": -0.599,
"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.417,
"after": 0.4214,
"delta": 0.0044,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 0.0,
"delta": -1.066,
"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.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.066,
"after": 0.0,
"delta": -1.066,
"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.168 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.752 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.489 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.599 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 1.066 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.719 | -0.033 |
| predicted_AVG | 0.248 | -0.005 |
| predicted_BB | 0.522 | 0.033 |
| predicted_H | 0.900 | -0.010 |
| predicted_HBP | 0.098 | - |
| predicted_HR | 0.178 | -0.002 |
| predicted_OBP | 0.355 | 0.001 |
| predicted_R | 0.597 | -0.002 |
| predicted_RBI | 0.593 | -0.017 |
| predicted_SLG | 0.417 | 0.000 |
| predicted_SO | 1.059 | -0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.719 | 0.000 |
| predicted_AVG | 0.240 | -0.007 |
| predicted_BB | 0.521 | -0.001 |
| predicted_H | 0.894 | -0.006 |
| predicted_HBP | 0.098 | 0.000 |
| predicted_HR | 0.175 | -0.003 |
| predicted_OBP | 0.334 | -0.021 |
| predicted_R | 0.591 | -0.006 |
| predicted_RBI | 0.588 | -0.006 |
| predicted_SLG | 0.421 | 0.004 |
| predicted_SO | 1.060 | 0.001 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.238 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.281 |
| predicted_AVG | 0.238 | -0.002 |
| predicted_BB | 1.000 | 0.479 |
| predicted_H | 1.000 | 0.106 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.336 | 0.002 |
| predicted_R | 1.000 | 0.409 |
| predicted_RBI | 1.000 | 0.412 |
| predicted_SLG | 0.425 | 0.004 |
| predicted_SO | 1.000 | -0.060 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | -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 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 5.000 | 0.1765 | 0.3636 | 0.1765 | 0.1765 | 0.0000 | 0.0588 | 0.2353 | 0.2941 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 1.000 | 0.000 | 2.000 | 7.000 | 6.000 | 6.000 | 11.000 | 0.2162 | 0.3409 | 0.4054 | 0.2162 | 0.0541 | 0.1892 | 0.1622 | 0.2973 |
| season | 0.60 | 137 | - | 514.000 | 139.000 | 23.000 | 0.000 | 32.000 | 92.000 | 82.000 | 67.000 | 146.000 | 0.2704 | 0.3620 | 0.5019 | 0.2704 | 0.0623 | 0.1790 | 0.1303 | 0.2841 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6770 |
| predicted_AVG | 0.2411 |
| predicted_BB | 0.5640 |
| predicted_H | 0.8870 |
| predicted_HBP | 0.0980 |
| predicted_HR | 0.1750 |
| predicted_OBP | 0.3556 |
| predicted_R | 0.5950 |
| predicted_RBI | 0.5720 |
| predicted_SLG | 0.4170 |
| predicted_SO | 1.0500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.1210 | 0.1475 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7520 | 3.6770 | 3.7193 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2411 | 0.2478 | model_form_blend |
| predicted_BB | 0.4890 | 0.5640 | 0.5217 | model_form_blend |
| predicted_H | 0.9100 | 0.8870 | 0.9000 | model_form_blend |
| predicted_HBP | - | 0.0980 | 0.0980 | form_only |
| predicted_HR | 0.1800 | 0.1750 | 0.1778 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3556 | 0.3547 | model_form_blend |
| predicted_R | 0.5990 | 0.5950 | 0.5973 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5720 | 0.5934 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4170 | 0.4170 | model_form_blend |
| predicted_SO | 1.0660 | 1.0500 | 1.0590 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 562 |
| Season rows before report date | 562 |
| Report year | 2026 |
| Profile rows used | 137 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 624413 |
| playerID | 624413 |
| playerName | Pete Alonso |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.37 |
| sl_xwoba | 0.392 |
| sl_xba | 0.284 |
| sl_xslg | 0.542 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 56.9 |
| sl_exit_velocity_avg | 94.2 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 1.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | 0.838 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.324 | 4.000 | 3.000 | Hitting_AB | 3.781 | 1.000 | 0.219 | 3.000 |
| predicted_AVG | 0.181 | 0.750 | 0.000 | Hitting_AVG | 0.224 | 0.000 | 0.526 | 0.750 |
| predicted_BB | 0.189 | 0.000 | 0.000 | Hitting_BB | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.230 | 3.000 | 0.000 | Hitting_H | 0.848 | 0.000 | 2.152 | 3.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.253 | 0.750 | 0.000 | Hitting_OBP | 0.271 | 0.000 | 0.479 | 0.750 |
| predicted_R | 0.324 | 1.000 | 0.000 | Hitting_R | 0.324 | 0.000 | 0.676 | 1.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.829 | 0.000 | -0.829 | 0.000 |
| predicted_SLG | 0.367 | 1.000 | 0.000 | Hitting_SLG | 0.441 | 0.000 | 0.559 | 1.000 |
| predicted_SO | 0.973 | 1.000 | 1.000 | Hitting_SO | 1.095 | 0.000 | -0.095 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.2300 -> 3.0000 (boost 2.7700, better) |
| Biggest Deboost | predicted_BB: 0.1890 -> 0.0000 (deboost -0.1890, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.2300 -> 0.4572 (boost 0.2272, 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.3803 -> 0.2650 (deboost -0.1153, 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.9361 -> 1.0000 (boost 0.0639, worse) | predicted_H: 0.4541 -> 0.0000 (deboost -0.4541, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.137 HR/AB=0.024 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3180 -> 0.0000 (deboost -0.3180, 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 1.0000 -> 3.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.2720 -> 0.2650 (deboost -0.0070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687952",
"player_name": "Christian Encarnacion-Strand",
"position": "3B",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.0,
"predicted_AB": 3.324,
"predicted_AVG": 0.181,
"predicted_BB": 0.189,
"predicted_H": 0.23,
"predicted_HR": 0.06,
"predicted_OBP": 0.253,
"predicted_R": 0.324,
"predicted_RBI": 0.17,
"predicted_SLG": 0.367,
"predicted_SO": 0.973
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1807,
"predicted_3B": 0.0008,
"predicted_AB": 3.3173,
"predicted_AVG": 0.2055,
"predicted_BB": 0.1965,
"predicted_H": 0.4572,
"predicted_HBP": 0.018,
"predicted_HR": 0.0822,
"predicted_OBP": 0.2681,
"predicted_R": 0.3212,
"predicted_RBI": 0.3062,
"predicted_SLG": 0.3803,
"predicted_SO": 0.935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1807,
"delta": -0.0083,
"percent_delta": -0.0439,
"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.324,
"after": 3.3173,
"delta": -0.0067,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.2055,
"delta": 0.0245,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.189,
"after": 0.1965,
"delta": 0.0075,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.4572,
"delta": 0.2272,
"percent_delta": 0.9878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0822,
"delta": 0.0222,
"percent_delta": 0.37,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2681,
"delta": 0.0151,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 0.3212,
"delta": -0.0028,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.3062,
"delta": 0.1362,
"percent_delta": 0.8012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3803,
"delta": 0.0133,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 0.935,
"delta": -0.038,
"percent_delta": -0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 0.4572,
"delta": 0.2272,
"percent_delta": 0.9878,
"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": 37
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1807,
"predicted_3B": 0.0008,
"predicted_AB": 3.3173,
"predicted_AVG": 0.1369,
"predicted_BB": 0.1963,
"predicted_H": 0.4541,
"predicted_HBP": 0.018,
"predicted_HR": 0.0809,
"predicted_OBP": 0.1851,
"predicted_R": 0.318,
"predicted_RBI": 0.3031,
"predicted_SLG": 0.265,
"predicted_SO": 0.9361
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1807,
"after": 0.1807,
"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.3173,
"after": 3.3173,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2055,
"after": 0.1369,
"delta": -0.0686,
"percent_delta": -0.3338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1965,
"after": 0.1963,
"delta": -0.0002,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4572,
"after": 0.4541,
"delta": -0.0031,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0822,
"after": 0.0809,
"delta": -0.0013,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2681,
"after": 0.1851,
"delta": -0.083,
"percent_delta": -0.3096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3212,
"after": 0.318,
"delta": -0.0032,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3062,
"after": 0.3031,
"delta": -0.0031,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3803,
"after": 0.265,
"delta": -0.1153,
"percent_delta": -0.3032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.935,
"after": 0.9361,
"delta": 0.0011,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3803,
"after": 0.265,
"delta": -0.1153,
"percent_delta": -0.3032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.137 HR/AB=0.024",
"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.1807,
"after": 0.0,
"delta": -0.1807,
"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.3173,
"after": 3.0,
"delta": -0.3173,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1963,
"after": 0.0,
"delta": -0.1963,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3031,
"after": 0.0,
"delta": -0.3031,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9361,
"after": 1.0,
"delta": 0.0639,
"percent_delta": 0.0683,
"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.9361,
"after": 1.0,
"delta": 0.0639,
"percent_delta": 0.0683,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.318,
"after": 0.0,
"delta": -0.318,
"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.137,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.191,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.272,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1369,
"after": 0.137,
"delta": 0.0001,
"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_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.1851,
"after": 0.191,
"delta": 0.0059,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.265,
"after": 0.272,
"delta": 0.007,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1369,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1851,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.265,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.137,
"after": 0.1369,
"delta": -0.0001,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.191,
"after": 0.1851,
"delta": -0.0059,
"percent_delta": -0.0308,
"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.272,
"after": 0.265,
"delta": -0.007,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.272,
"after": 0.265,
"delta": -0.007,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.811,
"percent_delta": 4.291,
"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.324,
"after": 4.0,
"delta": 0.676,
"percent_delta": 0.2034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.1369,
"delta": -0.0441,
"percent_delta": -0.2436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 3.0,
"delta": 2.77,
"percent_delta": 12.0435,
"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.253,
"after": 0.1851,
"delta": -0.0679,
"percent_delta": -0.2684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.324,
"after": 1.0,
"delta": 0.676,
"percent_delta": 2.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.265,
"delta": -0.102,
"percent_delta": -0.2779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 1.0,
"delta": 0.027,
"percent_delta": 0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 3.0,
"delta": 2.77,
"percent_delta": 12.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.324 | - |
| predicted_AVG | 0.181 | - |
| predicted_BB | 0.189 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.253 | - |
| predicted_R | 0.324 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.973 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.317 | -0.007 |
| predicted_AVG | 0.205 | 0.024 |
| predicted_BB | 0.197 | 0.008 |
| predicted_H | 0.457 | 0.227 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.082 | 0.022 |
| predicted_OBP | 0.268 | 0.015 |
| predicted_R | 0.321 | -0.003 |
| predicted_RBI | 0.306 | 0.136 |
| predicted_SLG | 0.380 | 0.013 |
| predicted_SO | 0.935 | -0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.317 | 0.000 |
| predicted_AVG | 0.137 | -0.069 |
| predicted_BB | 0.196 | -0.000 |
| predicted_H | 0.454 | -0.003 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.081 | -0.001 |
| predicted_OBP | 0.185 | -0.083 |
| predicted_R | 0.318 | -0.003 |
| predicted_RBI | 0.303 | -0.003 |
| predicted_SLG | 0.265 | -0.115 |
| predicted_SO | 0.936 | 0.001 |
AB rounded to 3 (raw=3.32), rates preserved: AVG=0.137 HR/AB=0.024
| 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.181 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.317 |
| predicted_AVG | 0.137 | 0.000 |
| predicted_BB | 0.000 | -0.196 |
| predicted_H | 1.000 | 0.546 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.191 | 0.006 |
| predicted_R | 0.000 | -0.318 |
| predicted_RBI | 0.000 | -0.303 |
| predicted_SLG | 0.272 | 0.007 |
| predicted_SO | 1.000 | 0.064 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.1538 | 0.2143 | 0.1538 | 0.1538 | 0.0000 | 0.0000 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 3.000 | 0.000 | 1.000 | 6.000 | 5.000 | 2.000 | 9.000 | 0.3235 | 0.3611 | 0.5000 | 0.3235 | 0.0294 | 0.1765 | 0.0588 | 0.2647 |
| season | 0.60 | 37 | - | 123.000 | 30.000 | 7.000 | 0.000 | 6.000 | 26.000 | 12.000 | 7.000 | 36.000 | 0.2439 | 0.2879 | 0.4472 | 0.2439 | 0.0488 | 0.2114 | 0.0569 | 0.2927 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3070 |
| predicted_AVG | 0.2430 |
| predicted_BB | 0.2080 |
| predicted_H | 0.8040 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.2911 |
| predicted_R | 0.3170 |
| predicted_RBI | 0.5140 |
| predicted_SLG | 0.4006 |
| predicted_SO | 0.8770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1680 | 0.1807 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3240 | 3.3070 | 3.3173 | model_form_blend |
| predicted_AVG | 0.1810 | 0.2430 | 0.2055 | model_form_blend |
| predicted_BB | 0.1890 | 0.2080 | 0.1965 | model_form_blend |
| predicted_H | 0.2300 | 0.8040 | 0.4572 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0600 | 0.1160 | 0.0822 | model_form_blend |
| predicted_OBP | 0.2530 | 0.2911 | 0.2681 | model_form_blend |
| predicted_R | 0.3240 | 0.3170 | 0.3212 | model_form_blend |
| predicted_RBI | 0.1700 | 0.5140 | 0.3062 | model_form_blend |
| predicted_SLG | 0.3670 | 0.4006 | 0.3803 | model_form_blend |
| predicted_SO | 0.9730 | 0.8770 | 0.9350 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 105 |
| Season rows before report date | 105 |
| Report year | 2026 |
| Profile rows used | 37 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 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 | 3B |
| gameID | 20260902_BAL@COL |
| game_type | short |
| mlbID | 687952 |
| playerID | 687952 |
| playerName | Christian Encarnacion-Strand |
| pos | 3B |
| started | False |
| startingPosition | 3B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.334 |
| sl_xwoba | 0.346 |
| sl_xba | 0.258 |
| sl_xslg | 0.525 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 17.2 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 60.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.212 | 0.000 | 1.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.087 | 3.000 | 3.000 | Hitting_AB | 3.381 | 5.000 | -0.381 | -2.000 |
| predicted_AVG | 0.243 | 0.000 | 0.333 | Hitting_AVG | 0.256 | 0.200 | -0.256 | -0.200 |
| predicted_BB | 0.312 | 1.000 | 0.000 | Hitting_BB | 0.341 | 0.000 | 0.659 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.865 | 1.000 | -0.865 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.333 | Hitting_OBP | 0.330 | 0.200 | -0.080 | 0.050 |
| predicted_R | 0.375 | 0.000 | 0.000 | Hitting_R | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.667 | Hitting_SLG | 0.385 | 0.200 | -0.385 | -0.200 |
| predicted_SO | 0.863 | 2.000 | 1.000 | Hitting_SO | 0.933 | 0.000 | 1.067 | 2.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.8630 -> 2.0000 (boost 1.1370, worse) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0870 -> 3.1569 (boost 0.0699, better) | predicted_SO: 0.8630 -> 0.8032 (deboost -0.0598, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3975 -> 0.3892 (deboost -0.0083, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7681 -> 1.0000 (boost 0.2319, better) | predicted_RBI: 0.3390 -> 0.0000 (deboost -0.3390, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.243 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3875 -> 0.0000 (deboost -0.3875, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3892 -> 0.3970 (boost 0.0078, 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 | 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.3970 -> 0.3892 (deboost -0.0078, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687637",
"player_name": "Dylan Beavers",
"position": "LF",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.0,
"predicted_AB": 3.087,
"predicted_AVG": 0.243,
"predicted_BB": 0.312,
"predicted_H": 0.74,
"predicted_HR": 0.09,
"predicted_OBP": 0.31,
"predicted_R": 0.375,
"predicted_RBI": 0.35,
"predicted_SLG": 0.405,
"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.239,
"predicted_3B": 0.0004,
"predicted_AB": 3.1569,
"predicted_AVG": 0.2467,
"predicted_BB": 0.3023,
"predicted_H": 0.7733,
"predicted_HBP": 0.017,
"predicted_HR": 0.0748,
"predicted_OBP": 0.3117,
"predicted_R": 0.3914,
"predicted_RBI": 0.3424,
"predicted_SLG": 0.3975,
"predicted_SO": 0.8032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.239,
"delta": 0.027,
"percent_delta": 0.1274,
"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.087,
"after": 3.1569,
"delta": 0.0699,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2467,
"delta": 0.0037,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.3023,
"delta": -0.0097,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7733,
"delta": 0.0333,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0748,
"delta": -0.0152,
"percent_delta": -0.1689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3117,
"delta": 0.0017,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.3914,
"delta": 0.0164,
"percent_delta": 0.0437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3424,
"delta": -0.0076,
"percent_delta": -0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3975,
"delta": -0.0075,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.8032,
"delta": -0.0598,
"percent_delta": -0.0693,
"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.087,
"after": 3.1569,
"delta": 0.0699,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.863,
"after": 0.8032,
"delta": -0.0598,
"percent_delta": -0.0693,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.239,
"predicted_3B": 0.0004,
"predicted_AB": 3.1569,
"predicted_AVG": 0.2433,
"predicted_BB": 0.3019,
"predicted_H": 0.7681,
"predicted_HBP": 0.017,
"predicted_HR": 0.0736,
"predicted_OBP": 0.3094,
"predicted_R": 0.3875,
"predicted_RBI": 0.339,
"predicted_SLG": 0.3892,
"predicted_SO": 0.8042
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.239,
"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.1569,
"after": 3.1569,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2467,
"after": 0.2433,
"delta": -0.0034,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3023,
"after": 0.3019,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7733,
"after": 0.7681,
"delta": -0.0052,
"percent_delta": -0.0067,
"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.0748,
"after": 0.0736,
"delta": -0.0012,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3117,
"after": 0.3094,
"delta": -0.0023,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3914,
"after": 0.3875,
"delta": -0.0039,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3424,
"after": 0.339,
"delta": -0.0034,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3975,
"after": 0.3892,
"delta": -0.0083,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8032,
"after": 0.8042,
"delta": 0.001,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3975,
"after": 0.3892,
"delta": -0.0083,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.243 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.239,
"after": 0.0,
"delta": -0.239,
"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.1569,
"after": 3.0,
"delta": -0.1569,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3019,
"after": 0.0,
"delta": -0.3019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7681,
"after": 1.0,
"delta": 0.2319,
"percent_delta": 0.3019,
"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.0736,
"after": 0.0,
"delta": -0.0736,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8042,
"after": 1.0,
"delta": 0.1958,
"percent_delta": 0.2435,
"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.7681,
"after": 1.0,
"delta": 0.2319,
"percent_delta": 0.3019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3875,
"after": 0.0,
"delta": -0.3875,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3875,
"after": 0.0,
"delta": -0.3875,
"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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.243,
"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.3094,
"after": 0.315,
"delta": 0.0056,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3892,
"after": 0.397,
"delta": 0.0078,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3892,
"after": 0.397,
"delta": 0.0078,
"percent_delta": 0.02,
"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": 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.2433,
"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.3094,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3892,
"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.2433,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3094,
"delta": -0.0056,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3892,
"delta": -0.0078,
"percent_delta": -0.0196,
"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.397,
"after": 0.3892,
"delta": -0.0078,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.087,
"after": 3.0,
"delta": -0.087,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2433,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3094,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3892,
"delta": -0.0158,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 2.0,
"delta": 1.137,
"percent_delta": 1.3175,
"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.863,
"after": 2.0,
"delta": 1.137,
"percent_delta": 1.3175,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.087 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.405 | - |
| 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.239 | 0.027 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.157 | 0.070 |
| predicted_AVG | 0.247 | 0.004 |
| predicted_BB | 0.302 | -0.010 |
| predicted_H | 0.773 | 0.033 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.075 | -0.015 |
| predicted_OBP | 0.312 | 0.002 |
| predicted_R | 0.391 | 0.016 |
| predicted_RBI | 0.342 | -0.008 |
| predicted_SLG | 0.398 | -0.008 |
| predicted_SO | 0.803 | -0.060 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.157 | 0.000 |
| predicted_AVG | 0.243 | -0.003 |
| predicted_BB | 0.302 | -0.000 |
| predicted_H | 0.768 | -0.005 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.074 | -0.001 |
| predicted_OBP | 0.309 | -0.002 |
| predicted_R | 0.388 | -0.004 |
| predicted_RBI | 0.339 | -0.003 |
| predicted_SLG | 0.389 | -0.008 |
| predicted_SO | 0.804 | 0.001 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.243 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 | 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.239 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.157 |
| predicted_AVG | 0.243 | -0.000 |
| predicted_BB | 0.000 | -0.302 |
| predicted_H | 1.000 | 0.232 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.315 | 0.006 |
| predicted_R | 0.000 | -0.388 |
| predicted_RBI | 0.000 | -0.339 |
| predicted_SLG | 0.397 | 0.008 |
| predicted_SO | 1.000 | 0.196 |
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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2353 | 0.2353 | 0.3529 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 4.000 | 0.000 | 0.000 | 4.000 | 5.000 | 5.000 | 5.000 | 0.2727 | 0.3684 | 0.3939 | 0.2727 | 0.0000 | 0.1212 | 0.1515 | 0.1515 |
| season | 0.60 | 80 | - | 247.000 | 62.000 | 17.000 | 0.000 | 6.000 | 31.000 | 30.000 | 25.000 | 69.000 | 0.2510 | 0.3236 | 0.3927 | 0.2510 | 0.0243 | 0.1255 | 0.1012 | 0.2793 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2760 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2530 |
| predicted_AVG | 0.2518 |
| predicted_BB | 0.2890 |
| predicted_H | 0.8190 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.3140 |
| predicted_R | 0.4140 |
| predicted_RBI | 0.3320 |
| predicted_SLG | 0.3872 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.2760 | 0.2390 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0870 | 3.2530 | 3.1569 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2518 | 0.2467 | model_form_blend |
| predicted_BB | 0.3120 | 0.2890 | 0.3023 | model_form_blend |
| predicted_H | 0.7400 | 0.8190 | 0.7733 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0900 | 0.0540 | 0.0748 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3140 | 0.3117 | model_form_blend |
| predicted_R | 0.3750 | 0.4140 | 0.3914 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3320 | 0.3424 | model_form_blend |
| predicted_SLG | 0.4050 | 0.3872 | 0.3975 | model_form_blend |
| predicted_SO | 0.8630 | 0.7210 | 0.8032 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260902_BAL@COL |
| game_type | full |
| mlbID | 687637 |
| playerID | 687637 |
| playerName | Dylan Beavers |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.317 |
| sl_xwoba | 0.308 |
| sl_xba | 0.234 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 41.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.090 | 0.000 | 0.000 | Hitting_2B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.859 | 3.000 | 3.000 | Hitting_AB | 2.723 | 0.000 | 0.277 | 3.000 |
| predicted_AVG | 0.165 | 0.000 | 0.000 | Hitting_AVG | 0.102 | - | -0.102 | - |
| predicted_BB | 0.231 | 1.000 | 0.000 | Hitting_BB | 0.234 | 0.000 | 0.766 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 0.000 | Hitting_H | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.251 | 0.250 | 0.000 | Hitting_OBP | 0.218 | - | 0.032 | - |
| predicted_R | 0.256 | 0.000 | 0.000 | Hitting_R | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_RBI | 0.100 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.270 | 0.000 | 0.000 | Hitting_SLG | 0.109 | - | -0.109 | - |
| predicted_SO | 1.090 | 1.000 | 1.000 | Hitting_SO | 0.915 | 0.000 | 0.085 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.2310 -> 1.0000 (boost 0.7690, better) |
| Biggest Deboost | predicted_H: 0.2700 -> 0.0000 (deboost -0.2700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.2700 -> 0.3445 (boost 0.0745, better) | predicted_SLG: 0.2700 -> 0.2587 (deboost -0.0113, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2587 -> 0.1910 (deboost -0.0677, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 2.8100 -> 3.0000 (boost 0.1900, better) | predicted_H: 0.3422 -> 0.0000 (deboost -0.3422, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.120 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2999 -> 0.0000 (deboost -0.2999, 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 | 1 | 1 | 0 | 1 | 0 | predicted_BB: 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": "665966",
"player_name": "Carlos Narváez",
"position": "C",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.09,
"predicted_3B": 0.0,
"predicted_AB": 2.859,
"predicted_AVG": 0.165,
"predicted_BB": 0.231,
"predicted_H": 0.27,
"predicted_HR": 0.03,
"predicted_OBP": 0.251,
"predicted_R": 0.256,
"predicted_RBI": 0.1,
"predicted_SLG": 0.27,
"predicted_SO": 1.09
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1051,
"predicted_3B": 0.0004,
"predicted_AB": 2.81,
"predicted_AVG": 0.1643,
"predicted_BB": 0.2565,
"predicted_H": 0.3445,
"predicted_HBP": 0.136,
"predicted_HR": 0.03,
"predicted_OBP": 0.2604,
"predicted_R": 0.3029,
"predicted_RBI": 0.1013,
"predicted_SLG": 0.2587,
"predicted_SO": 1.0691
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.1051,
"delta": 0.0151,
"percent_delta": 0.1678,
"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.859,
"after": 2.81,
"delta": -0.049,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.165,
"after": 0.1643,
"delta": -0.0007,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.2565,
"delta": 0.0255,
"percent_delta": 0.1104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.3445,
"delta": 0.0745,
"percent_delta": 0.2759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2604,
"delta": 0.0094,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.256,
"after": 0.3029,
"delta": 0.0469,
"percent_delta": 0.1832,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.1013,
"delta": 0.0013,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.27,
"after": 0.2587,
"delta": -0.0113,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.09,
"after": 1.0691,
"delta": -0.0209,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.3445,
"delta": 0.0745,
"percent_delta": 0.2759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.27,
"after": 0.2587,
"delta": -0.0113,
"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": 78
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1051,
"predicted_3B": 0.0004,
"predicted_AB": 2.81,
"predicted_AVG": 0.1218,
"predicted_BB": 0.2562,
"predicted_H": 0.3422,
"predicted_HBP": 0.136,
"predicted_HR": 0.0295,
"predicted_OBP": 0.1952,
"predicted_R": 0.2999,
"predicted_RBI": 0.1003,
"predicted_SLG": 0.191,
"predicted_SO": 1.0704
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1051,
"after": 0.1051,
"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.81,
"after": 2.81,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1643,
"after": 0.1218,
"delta": -0.0425,
"percent_delta": -0.2587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2565,
"after": 0.2562,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3445,
"after": 0.3422,
"delta": -0.0023,
"percent_delta": -0.0067,
"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.03,
"after": 0.0295,
"delta": -0.0005,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2604,
"after": 0.1952,
"delta": -0.0652,
"percent_delta": -0.2504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3029,
"after": 0.2999,
"delta": -0.003,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1013,
"after": 0.1003,
"delta": -0.001,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2587,
"after": 0.191,
"delta": -0.0677,
"percent_delta": -0.2617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0691,
"after": 1.0704,
"delta": 0.0013,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2587,
"after": 0.191,
"delta": -0.0677,
"percent_delta": -0.2617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.86), rates preserved: AVG=0.120 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1051,
"after": 0.0,
"delta": -0.1051,
"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.81,
"after": 3.0,
"delta": 0.19,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2562,
"after": 0.0,
"delta": -0.2562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3422,
"after": 0.0,
"delta": -0.3422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0295,
"after": 0.0,
"delta": -0.0295,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1003,
"after": 0.0,
"delta": -0.1003,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0704,
"after": 1.0,
"delta": -0.0704,
"percent_delta": -0.0658,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.81,
"after": 3.0,
"delta": 0.19,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3422,
"after": 0.0,
"delta": -0.3422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2999,
"after": 0.0,
"delta": -0.2999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2999,
"after": 0.0,
"delta": -0.2999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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.12,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.198,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.195,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1218,
"after": 0.12,
"delta": -0.0018,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1952,
"after": 0.198,
"delta": 0.0028,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.191,
"after": 0.195,
"delta": 0.004,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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": 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.1218,
"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.1952,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.191,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.12,
"after": 0.1218,
"delta": 0.0018,
"percent_delta": 0.0148,
"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.198,
"after": 0.1952,
"delta": -0.0028,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.195,
"after": 0.191,
"delta": -0.004,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.09,
"after": 0.0,
"delta": -0.09,
"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.859,
"after": 3.0,
"delta": 0.141,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.165,
"after": 0.1218,
"delta": -0.0432,
"percent_delta": -0.2618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"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.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.1952,
"delta": -0.0558,
"percent_delta": -0.2223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.27,
"after": 0.191,
"delta": -0.079,
"percent_delta": -0.2926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.090 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.859 | - |
| predicted_AVG | 0.165 | - |
| predicted_BB | 0.231 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.251 | - |
| predicted_R | 0.256 | - |
| predicted_RBI | 0.100 | - |
| predicted_SLG | 0.270 | - |
| predicted_SO | 1.090 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | 0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.810 | -0.049 |
| predicted_AVG | 0.164 | -0.001 |
| predicted_BB | 0.257 | 0.025 |
| predicted_H | 0.344 | 0.074 |
| predicted_HBP | 0.136 | - |
| predicted_HR | 0.030 | 0.000 |
| predicted_OBP | 0.260 | 0.009 |
| predicted_R | 0.303 | 0.047 |
| predicted_RBI | 0.101 | 0.001 |
| predicted_SLG | 0.259 | -0.011 |
| predicted_SO | 1.069 | -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.105 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.810 | 0.000 |
| predicted_AVG | 0.122 | -0.042 |
| predicted_BB | 0.256 | -0.000 |
| predicted_H | 0.342 | -0.002 |
| predicted_HBP | 0.136 | 0.000 |
| predicted_HR | 0.029 | -0.001 |
| predicted_OBP | 0.195 | -0.065 |
| predicted_R | 0.300 | -0.003 |
| predicted_RBI | 0.100 | -0.001 |
| predicted_SLG | 0.191 | -0.068 |
| predicted_SO | 1.070 | 0.001 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.120 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 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.105 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.190 |
| predicted_AVG | 0.120 | -0.002 |
| predicted_BB | 0.000 | -0.256 |
| predicted_H | 0.000 | -0.342 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.198 | 0.003 |
| predicted_R | 0.000 | -0.300 |
| predicted_RBI | 0.000 | -0.100 |
| predicted_SLG | 0.195 | 0.004 |
| predicted_SO | 1.000 | -0.070 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 5.000 | 0.1818 | 0.3571 | 0.2727 | 0.1818 | 0.0000 | 0.0000 | 0.1818 | 0.4546 |
| last_10 | 0.20 | 10 | - | 23.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 9.000 | 0.0870 | 0.2500 | 0.1304 | 0.0870 | 0.0000 | 0.0000 | 0.1304 | 0.3913 |
| season | 0.60 | 78 | - | 223.000 | 37.000 | 7.000 | 0.000 | 3.000 | 10.000 | 20.000 | 18.000 | 85.000 | 0.1659 | 0.2470 | 0.2377 | 0.1659 | 0.0135 | 0.0448 | 0.0807 | 0.3812 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7420 |
| predicted_AVG | 0.1634 |
| predicted_BB | 0.2920 |
| predicted_H | 0.4480 |
| predicted_HBP | 0.1360 |
| predicted_HR | 0.0300 |
| predicted_OBP | 0.2735 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.1030 |
| predicted_SLG | 0.2429 |
| predicted_SO | 1.0400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.1260 | 0.1051 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8590 | 2.7420 | 2.8100 | model_form_blend |
| predicted_AVG | 0.1650 | 0.1634 | 0.1643 | model_form_blend |
| predicted_BB | 0.2310 | 0.2920 | 0.2565 | model_form_blend |
| predicted_H | 0.2700 | 0.4480 | 0.3445 | model_form_blend |
| predicted_HBP | - | 0.1360 | 0.1360 | form_only |
| predicted_HR | 0.0300 | 0.0300 | 0.0300 | model_form_blend |
| predicted_OBP | 0.2510 | 0.2735 | 0.2604 | model_form_blend |
| predicted_R | 0.2560 | 0.3680 | 0.3029 | model_form_blend |
| predicted_RBI | 0.1000 | 0.1030 | 0.1013 | model_form_blend |
| predicted_SLG | 0.2700 | 0.2429 | 0.2587 | model_form_blend |
| predicted_SO | 1.0900 | 1.0400 | 1.0691 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 47 |
| Season rows before report date | 47 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260902_BAL@COL |
| game_type | short |
| mlbID | 665966 |
| playerID | 665966 |
| playerName | Carlos Narváez |
| pos | C |
| started | False |
| startingPosition | C |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 33.1 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.226 |
| sl_xwoba | 0.265 |
| sl_xba | 0.194 |
| sl_xslg | 0.31 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.000 | 1.000 | 1.000 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.130 | 1.000 | 1.870 | 3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.565 | 5.000 | -2.565 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.504 | 7.000 | -0.304 | -1.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.478 | 4.000 | 0.522 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687064",
"player_name": "Brandon Young",
"position": "Starter",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run 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": 4.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.000 | 11.000 | 31.000 | 10.000 | 18.000 | 6.000 | 3.6667 | 1.5185 | 0.4074 | 1.1482 | 0.3704 | 0.6667 | 0.2222 |
| last_10 | 0.35 | 10 | 58.000 | 24.000 | 61.000 | 19.000 | 46.000 | 10.000 | 3.7241 | 1.3793 | 0.4138 | 1.0517 | 0.3276 | 0.7931 | 0.1724 |
| season | 0.20 | 23 | 130.100 | 49.000 | 128.000 | 46.000 | 103.000 | 17.000 | 3.3836 | 1.3350 | 0.3760 | 0.9821 | 0.3529 | 0.7903 | 0.1304 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9690 |
| predicted_ER | 2.3290 |
| predicted_ERA | 3.7816 |
| predicted_H | 5.8860 |
| predicted_HR | 0.9940 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.2790 |
| predicted_WHIP | 1.4171 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.9690 | 2.4076 | model_form_blend |
| predicted_ER | 4.0000 | 2.3290 | 3.0399 | model_form_blend |
| predicted_ERA | - | 3.7816 | 3.7816 | form_only |
| predicted_H | 3.0000 | 5.8860 | 4.6581 | model_form_blend |
| predicted_HR | 2.0000 | 0.9940 | 1.4220 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 4.2790 | 4.5858 | model_form_blend |
| predicted_WHIP | - | 1.4171 | 1.4171 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4 |
| ER | 4 |
| BB | 3 |
| SO | 5 |
| HR | 2 |
| BF | 25 |
| Pitches | 100 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_BAL@OAK |
| game_type | full |
| mlbID | 687064 |
| playerID | 687064 |
| playerName | Brandon Young |
| pos | P |
| started | True |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-08-28 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.318 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 78.339461608 |
| sl_avg_hyper_speed | 94.253601788 |
| 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.220 | 0.000 | -0.220 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.320 | 1.000 | -0.320 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.796 | 0.200 | 0.304 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.740 | 1.000 | 0.260 | 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": "552640",
"player_name": "Andrew Kittredge",
"position": "Closer",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 7.000 | 1.000 | 4.000 | 0.000 | 1.9286 | 1.7143 | 0.2143 | 1.5000 | 0.2143 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 13.000 | 1.000 | 8.000 | 0.000 | 1.8621 | 1.4483 | 0.2069 | 1.3448 | 0.1035 | 0.8276 | 0.0000 |
| season | 0.20 | 50 | 44.000 | 16.000 | 50.000 | 11.000 | 37.000 | 5.000 | 3.2727 | 1.3864 | 0.3636 | 1.1364 | 0.2500 | 0.8409 | 0.1136 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2510 |
| predicted_ER | 0.3340 |
| predicted_ERA | 3.0064 |
| predicted_H | 1.2280 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8780 |
| predicted_WHIP | 1.4790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2510 | 0.1248 | model_form_blend |
| predicted_ER | 0.0000 | 0.3340 | 0.1661 | model_form_blend |
| predicted_ERA | - | 3.0064 | 3.0064 | form_only |
| predicted_H | 0.0000 | 1.2280 | 0.6108 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0333 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8780 | 0.9393 | model_form_blend |
| predicted_WHIP | - | 1.4790 | 1.4790 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.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 | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.27 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 552640 |
| playerID | 552640 |
| playerName | Andrew Kittredge |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.315 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 54.2 |
| sl_avg_best_speed | 77.159685417 |
| sl_avg_hyper_speed | 94.031492639 |
| 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.303 | 0.000 | -0.303 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.561 | 1.000 | -0.561 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.791 | 1.000 | 0.209 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.924 | 1.000 | -0.924 | -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": "670329",
"player_name": "Rico Garcia",
"position": "Setup Man",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 5.000 | 2.000 | 4.000 | 0.000 | 2.2500 | 1.7500 | 0.2500 | 1.2500 | 0.5000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 1.000 | 6.000 | 3.000 | 9.000 | 0.000 | 1.0000 | 1.0000 | 0.1111 | 0.6667 | 0.3333 | 1.0000 | 0.0000 |
| season | 0.20 | 65 | 59.200 | 17.000 | 34.000 | 19.000 | 61.000 | 9.000 | 2.5642 | 0.8883 | 0.2849 | 0.5698 | 0.3184 | 1.0224 | 0.1508 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3530 |
| predicted_ER | 0.2620 |
| predicted_ERA | 2.6411 |
| predicted_H | 0.8300 |
| predicted_HR | 0.0580 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8810 |
| predicted_WHIP | 1.3235 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3530 | 0.1856 | model_form_blend |
| predicted_ER | 0.0000 | 0.2620 | 0.1377 | model_form_blend |
| predicted_ERA | - | 2.6411 | 2.6411 | form_only |
| predicted_H | 0.0000 | 0.8300 | 0.4363 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0305 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8810 | 0.4631 | model_form_blend |
| predicted_WHIP | - | 1.3235 | 1.3235 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 66 |
| Season rows before report date | 66 |
| 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.17 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 670329 |
| playerID | 670329 |
| playerName | Rico Garcia |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.261 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 34.2 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 74.426083378 |
| sl_avg_hyper_speed | 93.112266419 |
| 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.167 | 0.000 | 0.833 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.250 | 0.000 | 0.750 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.600 | 0.000 | 0.400 | 1.000 |
| predicted_IP | 1.000 | 2.000 | 1.000 | Pitching_InningsPitched | 0.595 | 0.100 | 1.405 | 1.900 |
| 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 | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 2.0000 (boost 1.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 -> 2.0000 (boost 1.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666974",
"player_name": "Yennier Cano",
"position": "Middle Reliever (High Leverage)",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 2.0,
"delta": 1.3333,
"percent_delta": 2.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.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 2.0,
"delta": 1.3333,
"percent_delta": 1.9999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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": 2.0,
"delta": 1.3333,
"percent_delta": 1.9999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 2.200 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 6.200 | 3.000 | 6.000 | 2.000 | 8.000 | 0.000 | 4.0500 | 1.2000 | 0.4500 | 0.9000 | 0.3000 | 1.2000 | 0.0000 |
| season | 0.20 | 58 | 44.100 | 11.000 | 30.000 | 9.000 | 40.000 | 1.000 | 2.2331 | 0.8797 | 0.2481 | 0.6767 | 0.2030 | 0.9023 | 0.0226 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1510 |
| predicted_ER | 0.2080 |
| predicted_ERA | 2.8036 |
| predicted_H | 0.4250 |
| predicted_HR | 0.0370 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6260 |
| predicted_WHIP | 0.8646 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1510 | 0.5771 | model_form_blend |
| predicted_ER | 1.0000 | 0.2080 | 0.6055 | model_form_blend |
| predicted_ERA | - | 2.8036 | 2.8036 | form_only |
| predicted_H | 1.0000 | 0.4250 | 0.7136 | model_form_blend |
| predicted_HR | 0.0000 | 0.0370 | 0.0184 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6260 | 0.8137 | model_form_blend |
| predicted_WHIP | - | 0.8646 | 0.8646 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 58 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 8 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.05 |
| 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.1 |
| Pitching_Pitches | 3 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 2 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260902_BAL@COL |
| game_type | full |
| mlbID | 666974 |
| playerID | 666974 |
| playerName | Yennier Cano |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.24 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 24.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 39.5 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 78.628459683 |
| sl_avg_hyper_speed | 94.17995336 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHW 4 - 5 HOU | HOU | 0.559 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHW 4 - 5 HOU | HOU | - | 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.5793; empirical=0.5592; weight=0.5000; final=0.5693 |
| P1 | H2H margin as base feature | available | home net=-5; abs=5; home delta=-0.0288; away delta=0.0288 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.6364; recent edge=-0.0040; 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.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5591 |
| 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.181 | 5.218 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 5 | 0.5591 | 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 | 4 | 5 | - | 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.5171906751592358,
"base_low_score_probability": 0.4299363057324841,
"low_score_signal_threshold": 0.509936305732484,
"low_score_signal_strength": 0.08725436942675169,
"confidence": 0.7014736,
"factors": {
"environmental": 1.1566800000000002,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.2029472
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.9,
"low_score_model_expected_total_runs": 6.9,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 304,
"near_bucket_sample_size": 304,
"medium_bucket_sample_size": 752,
"wide_bucket_sample_size": 775,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5592,
"bayesian_hit_rate": 0.5559,
"prior_strength": 18.0,
"raw_pick_probability": 0.5816,
"raw_pick_probability_unclamped": 0.5816,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5816,
"margin_implied_pick_probability": 0.5816,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5816,
"score_implied_floor_pick_probability": 0.5786,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.581609,
"uncapped_away_win_probability": 0.418391,
"calibrated_pick_probability": 0.5786,
"predicted_side": "home",
"reliability": 0.944099,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.963665
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.579311,
"sample_size": 304,
"empirical_hit_rate": 0.5592,
"empirical_weight": 0.5,
"blended_confidence": 0.569255,
"published_confidence": 0.559116,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -5.0,
"absolute_net_margin": 5.0,
"home_average_margin": -1.0,
"home_run_delta": -0.0288,
"away_run_delta": 0.0288,
"evidence": [
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": -4.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": -9.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": false,
"home": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071428571428571,
"runs_scored": 633,
"runs_allowed": 675,
"run_differential": -42,
"run_differential_per_game": -0.3,
"available": true
},
"away": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5251798561151079,
"runs_scored": 660,
"runs_allowed": 617,
"run_differential": 43,
"run_differential_per_game": 0.30935251798561153,
"available": true
},
"run_differential_edge_per_game": -0.6094,
"win_pct_edge": -0.018,
"quality_edge": -0.4151,
"season_quality_edge": -0.6364,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.6364,
"recent_quality_edge": -0.004,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -0.4151
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.021739545488447597
},
{
"home_runs": 6,
"away_runs": 4,
"probability": 0.02103023122964983
},
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.020992345252162637
},
{
"home_runs": 6,
"away_runs": 5,
"probability": 0.020307410517861165
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.02000697287056929
}
],
"home_distribution": {
"0": 0.028797959261630764,
"1": 0.049811858468562155,
"2": 0.07670581505422976,
"3": 0.10515945909816596,
"4": 0.1283491241089631,
"5": 0.13946395789208735,
"6": 0.13491355117020823,
"7": 0.11619131657604029,
"8": 0.08908739968106671,
"9": 0.060811176238448825,
"10": 0.03695515566340423,
"11": 0.01999360828635625,
"12": 0.009630122985042159,
"13": 0.004129495515794185
},
"away_distribution": {
"0": 0.04314034715999286,
"1": 0.07364771394722171,
"2": 0.10903567642034916,
"3": 0.13999473083795558,
"4": 0.15587930973010924,
"5": 0.15052165139616808,
"6": 0.12605009900858688,
"7": 0.09154215336813866,
"8": 0.057654442054079436,
"9": 0.03149039725920637,
"10": 0.014916166466242789,
"11": 0.006127312351949447
},
"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": "HOU",
"opponent_team": "CHW",
"h2h_net_margin": 1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 2,
"opponent_runs": 0,
"margin_for_predicted_team": 2,
"winner": "HOU"
},
{
"date": "2026-09-01",
"predicted_team_runs": 1,
"opponent_runs": 5,
"margin_for_predicted_team": -4,
"winner": "CHW"
},
{
"date": "2026-08-31",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "HOU"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 6,
"consecutive_same_pick_count": 1,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260902",
"away": "CHW",
"home": "HOU",
"game_number": 1,
"predicted_team": "HOU",
"actual_winner": "HOU",
"actual_margin": 2,
"raw_pick_probability": 0.53,
"artifact": "20260902_CHW@HOU.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "CHW",
"home": "HOU",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 4,
"raw_pick_probability": 0.53,
"artifact": "20260901_CHW@HOU.json",
"verification": "pregame_official_final"
},
{
"date": "20260831",
"away": "CHW",
"home": "HOU",
"game_number": 1,
"predicted_team": "HOU",
"actual_winner": "HOU",
"actual_margin": 3,
"raw_pick_probability": 0.53,
"artifact": "20260831_CHW@HOU.json",
"verification": "pregame_official_final"
},
{
"date": "20260726",
"away": "HOU",
"home": "CHW",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "CHW",
"actual_margin": 9,
"raw_pick_probability": 0.53,
"artifact": "20260726_HOU@CHW.json",
"verification": "pregame_official_final"
},
{
"date": "20260725",
"away": "HOU",
"home": "CHW",
"game_number": 1,
"predicted_team": "CHW",
"actual_winner": "HOU",
"actual_margin": 3,
"raw_pick_probability": 0.64,
"artifact": "20260725_HOU@CHW.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "HOU",
"guardrail_opponent_team": "CHW",
"output_pre_simulation_winner": "HOU",
"output_opponent_team": "CHW",
"simulation_score_winner": "HOU",
"final_score_winner": "HOU",
"pre_simulation_winner": "HOU",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0402,
"recent_form_edge_home_minus_away": 0.066,
"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": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "HOU",
"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": 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.4151,
"winner": "HOU",
"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": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071428571428571,
"runs_scored": 633,
"runs_allowed": 675,
"run_differential": -42,
"run_differential_per_game": -0.3,
"available": true
},
"away": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5251798561151079,
"runs_scored": 660,
"runs_allowed": 617,
"run_differential": 43,
"run_differential_per_game": 0.30935251798561153,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.9601,
"final_margin": 0.9601,
"margin_cap": 1.5,
"season_quality_edge": 0.4151,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.569255,
"final_confidence": 0.5786,
"calibrated_pick_probability": 0.5786,
"shrinkage_weight": 0.963665,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.9601,
"calibration_sample_size": 304,
"calibration_empirical_hit_rate": 0.5592,
"calibration_bayesian_hit_rate": 0.5559,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4151,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 5
},
"margin": 1,
"probability_before": 0.578644,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.963665,
"side_flipped": false,
"applied": true,
"probability_after": 0.581822,
"aligned_pick_probability": 0.581822
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0402,
"recent_form_edge_home_minus_away": 0.066,
"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": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "HOU",
"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": 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.4151,
"winner": "HOU",
"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.559116395,
"home_win_probability": 0.559116395,
"away_win_probability": 0.440883605,
"predicted_score_text": "CHW 4 - 5 HOU",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHW",
"original_runs": 4,
"run_delta": -0.0433,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.18555858608711517,
"contact": 0.0860664798741328,
"power": 0.313812946661043,
"discipline": 0.13428265274078038,
"xwoba": 0.32559375000000007,
"recent_xwoba": 0.32559375000000007,
"barrel": 9.565625,
"ab_hard_contact": 0.06260417131609558,
"ab_bat_speed": 69.39766211758274,
"ab_strikeout_rate": 0.24915807146556887,
"available_players": 9,
"top_players": [
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"weight": 4.0,
"quality": 1.1912090694114301,
"contact": 1.1775389977828747,
"power": 1.3651149190369507,
"discipline": 0.9908696283391405,
"xwoba": 0.388,
"recent_xwoba": 0.388,
"barrel": 13.9,
"ab_hard_contact": 0.9188698093104499,
"ab_bat_speed": 72.84117302232546,
"ab_strikeout_rate": 0.1792295780100658,
"available": 1.0
},
{
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"weight": 4.0,
"quality": 0.928796456547143,
"contact": 0.4924797785997542,
"power": 1.8057235474687483,
"discipline": 0.11840608465608482,
"xwoba": 0.35799999999999993,
"recent_xwoba": 0.358,
"barrel": 19.6,
"ab_hard_contact": 1.0047566636606813,
"ab_bat_speed": 73.1002725308642,
"ab_strikeout_rate": 0.34883597883597883,
"available": 1.0
},
{
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"weight": 4.0,
"quality": -0.4355053030693724,
"contact": -0.3633633236802052,
"power": -0.6428390152396023,
"discipline": 0.2998413031879418,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 4.2,
"ab_hard_contact": -0.7245898286015806,
"ab_bat_speed": 64.24297362278244,
"ab_strikeout_rate": 0.23047218887555024,
"available": 1.0
},
{
"player_id": "668670",
"player_name": "Jake Rogers",
"position": "C",
"weight": 3.0,
"quality": -0.2716734703760787,
"contact": -0.9250625364796106,
"power": -0.23501786089068374,
"discipline": 0.21927109949670948,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 10.1,
"ab_hard_contact": -0.6336905511470088,
"ab_bat_speed": 67.75366192411924,
"ab_strikeout_rate": 0.2821138211382114,
"available": 1.0
},
{
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"weight": 4.0,
"quality": -0.11893444516760403,
"contact": -0.49640885070191,
"power": 0.5274089457969712,
"discipline": -0.8632434086629002,
"xwoba": 0.305,
"recent_xwoba": 0.305,
"barrel": 12.4,
"ab_hard_contact": 0.37675034451085715,
"ab_bat_speed": 74.87102787866559,
"ab_strikeout_rate": 0.3334140435835351,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "686613",
"player_name": "Hunter Brown",
"quality": 0.3195426943139301,
"contact": 0.5768744908977699,
"command": -0.1319721611721612,
"movement": 0.5132623858305052,
"xwoba": 0.293,
"whiff": 25.4,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "HOU",
"original_runs": 5,
"run_delta": 0.1566,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.014301754836607684,
"contact": -0.03889702071508297,
"power": 0.003159592956953957,
"discipline": 0.11330349292676926,
"xwoba": 0.3175428571428571,
"recent_xwoba": 0.3175428571428571,
"barrel": 7.694285714285713,
"ab_hard_contact": -0.0015000065957693019,
"ab_bat_speed": 70.80715190813653,
"ab_strikeout_rate": 0.20627530525917187,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 4.0,
"quality": 1.8265947499368218,
"contact": 2.0,
"power": 2.0,
"discipline": 1.2574458962446768,
"xwoba": 0.451,
"recent_xwoba": 0.451,
"barrel": 16.5,
"ab_hard_contact": 1.5709937938677323,
"ab_bat_speed": 75.38483097819073,
"ab_strikeout_rate": 0.1774390243902439,
"available": 1.0
},
{
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"weight": 4.0,
"quality": -0.6776879431062299,
"contact": -0.7539265464796092,
"power": -0.7851391965636862,
"discipline": 0.06883730158730156,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 4.7,
"ab_hard_contact": -0.7458315503213675,
"ab_bat_speed": 66.72382944444445,
"ab_strikeout_rate": 0.21533333333333335,
"available": 1.0
},
{
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"position": "LF",
"weight": 3.0,
"quality": -0.28219963258876163,
"contact": -0.8485644367772293,
"power": -0.8294188705102225,
"discipline": 0.766310515873016,
"xwoba": 0.281,
"recent_xwoba": 0.281,
"barrel": 4.1,
"ab_hard_contact": -0.6782821721092116,
"ab_bat_speed": 69.39781436011904,
"ab_strikeout_rate": 0.20364583333333333,
"available": 1.0
},
{
"player_id": "662139",
"player_name": "Daulton Varsho",
"position": "CF",
"weight": 4.0,
"quality": -0.32623742013832463,
"contact": -0.40889776610415274,
"power": -0.3916372050394725,
"discipline": 0.11058180708180707,
"xwoba": 0.288,
"recent_xwoba": 0.288,
"barrel": 6.3,
"ab_hard_contact": -0.583982196027546,
"ab_bat_speed": 71.277147245116,
"ab_strikeout_rate": 0.20016025641025642,
"available": 1.0
},
{
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "RF",
"weight": 3.0,
"quality": -0.32696690935174444,
"contact": -0.8627130007653251,
"power": 0.2738237295813751,
"discipline": -0.7913025793650792,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 12.4,
"ab_hard_contact": -0.15438255122964342,
"ab_bat_speed": 74.08419661458333,
"ab_strikeout_rate": 0.3796875,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "622491",
"player_name": "Luis Castillo",
"quality": -0.36808036539210104,
"contact": -0.5921243954824686,
"command": -0.2689721611721613,
"movement": 0.06736481199217292,
"xwoba": 0.341,
"whiff": 24.4,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4151,
"recent_form_edge_home_minus_away": 0.066,
"pitcher_matchup_edge_home_minus_away": 0.0402,
"composite_home_edge": 0.0566,
"existing_home_win_probability": 0.5818,
"refreshed_home_win_probability": 0.5283,
"winner_support_before_review": 0.0566
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.581822,
"uncapped_away_win_probability": 0.418178,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.581822,
"discount_factor": 0.7225,
"published_confidence": 0.559116,
"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": 4,
"home_runs": 5,
"predicted_score_text": "CHW 4 - 5 HOU",
"confidence": 0.559116395,
"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": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHW 4 - 5 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0402,
"recent_form_edge_home_minus_away": 0.066,
"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": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "HOU",
"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": 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.4151,
"winner": "HOU",
"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": "HOU",
"display_confidence": 0.5591,
"internal_signal_score": 0.5336,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5591,
"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": 1,
"winner_quality_edge": -0.4151,
"winner_recent_form_edge": -0.004,
"winner_pitcher_matchup_edge": 0.0402,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.1667,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.5,
"total_runs_spread": {
"min": 3,
"median": 9,
"max": 10,
"range": 7
}
},
"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 CHW | True | 1.0300 | 1.0300 | 1 | 9 | 0 |
| Home HOU | True | 1.0101 | 1.0101 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Munetaka Murakami | 93 | 1.0890 | 1.1870 | neutral | 0.3580 | 0.2110 | 0.4780 | 19.60 | 57.10 | 93.90 | 16.20 | 42.10 | 33.80 | 17.80 | -0.1714 |
| LF | Sam Antonacci | 123 | 1.0361 | 0.4812 | neutral | 0.3440 | 0.2730 | 0.3910 | 5.40 | 32.70 | 87.20 | 10 | 15.40 | 15.70 | 8.40 | 0.1143 |
| RF | Braden Montgomery | 343 | 1.0281 | 0.3742 | neutral | 0.3260 | 0.2550 | 0.3860 | 4 | 41.20 | 89 | 4.80 | 29.10 | 19.90 | 10.70 | 0.7714 |
| DH | Andrew Benintendi | 353 | 1.0201 | 0.2686 | neutral | 0.3090 | 0.2440 | 0.4040 | 8.50 | 44 | 88.90 | 17 | 28.30 | 23.30 | 7.90 | -0.1714 |
| CF | Tristan Peters | 29 | 1.0023 | 0.0310 | negative_batter_regression | 0.3170 | 0.2540 | 0.3950 | 5.90 | 33.10 | 87.50 | 17.70 | 23.80 | 18.10 | 7.80 | -1.0571 |
| C | Jake Rogers | 354 | 0.9852 | -0.1973 | neutral | 0.2750 | 0.1820 | 0.3170 | 10.10 | 38.20 | 88.30 | 21.20 | 26.10 | 29.50 | 12.80 | 0.2857 |
| 3B | Miguel Vargas | 22 | 1.1246 | 1.6607 | neutral | 0.3880 | 0.2690 | 0.5150 | 13.90 | 45.50 | 90.60 | 20 | 20.70 | 17.50 | 14.20 | 0.6286 |
| 2B | Chase Meidroth | 53 | 0.9723 | -0.3699 | negative_batter_regression | 0.2940 | 0.2360 | 0.3350 | 4.20 | 34.30 | 87.40 | 8.10 | 19 | 21.80 | 9.50 | -1.0571 |
| SS | Colson Montgomery | 114 | 1.0124 | 0.1654 | neutral | 0.3050 | 0.2110 | 0.4100 | 12.40 | 42 | 88.80 | 23.60 | 37.20 | 33.90 | 8.50 | -0.3714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Jose Altuve | 346 | 0.9521 | -0.6381 | negative_batter_regression | 0.2750 | 0.2220 | 0.3260 | 4.70 | 32.60 | 85.40 | 9.60 | 22.20 | 20.30 | 8.10 | -0.9714 |
| DH | Yordan Alvarez | 3 | 1.1500 | 2 | neutral | 0.4510 | 0.3240 | 0.6560 | 16.50 | 53.70 | 94.50 | 19.20 | 19.40 | 17.20 | 15.90 | 0.5714 |
| SS | Jeremy Peña | 44 | 1.0317 | 0.4226 | neutral | 0.3330 | 0.2760 | 0.4280 | 6.60 | 39.60 | 88.40 | 11.70 | 31.30 | 21.90 | 5.90 | -0.5429 |
| RF | Taylor Trammell | 604 | 0.9930 | -0.0939 | neutral | 0.2900 | 0.1930 | 0.3800 | 12.40 | 38 | 88.50 | 15.60 | 37.90 | 30.80 | 9 | 0 |
| 3B | Isaac Paredes | 52 | 0.9988 | -0.0160 | neutral | 0.3210 | 0.2450 | 0.3650 | 4.80 | 28.20 | 86 | 24 | 15 | 12.90 | 10.60 | -0.6857 |
| C | Yainer Diaz | 235 | 0.9982 | -0.0241 | neutral | 0.2990 | 0.2610 | 0.3910 | 5.40 | 35.70 | 88.10 | 6.90 | 22.70 | 16.20 | 3.60 | -0.1714 |
| CF | Daulton Varsho | 225 | 0.9859 | -0.1883 | neutral | 0.2880 | 0.2330 | 0.3540 | 6.30 | 37.30 | 86.70 | 15.10 | 21.50 | 20.20 | 8.10 | -0.0286 |
| LF | LaMonte Wade Jr. | 438 | 0.9796 | -0.2716 | neutral | 0.2810 | 0.1900 | 0.3000 | 4.10 | 35.60 | 87 | 13.60 | 22.80 | 25.40 | 14.80 | -0.5429 |
| 1B | Christian Walker | 127 | 1.0012 | 0.0164 | neutral | 0.3000 | 0.2240 | 0.3820 | 9 | 41.10 | 89.20 | 13.60 | 29.50 | 23.70 | 8 | -0.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0101,
"raw_average_factor": 1.0101,
"team_espn_average_rank": 230.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "514888",
"player_name": "Jose Altuve",
"offense_factor": 0.9521,
"quality_score": -0.6381,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "514888",
"espn_id": 31662,
"player_name": "Jose Altuve",
"team": "HOU",
"role": "batter",
"espn_rank": 346,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 346,
"gp_value": 113.0,
"gp_rank": "153",
"ab_value": 434.0,
"ab_rank": "106",
"r_value": 62.0,
"r_rank": "90",
"h_value": 106.0,
"h_rank": "109",
"avg_value": 0.2442396,
"avg_rank": 93.0,
"2b_value": 18.0,
"2b_rank": "137",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 41.0,
"rbi_rank": "182",
"tb_value": 170.0,
"tb_rank": "737",
"bb_value": 39.0,
"bb_rank": "129",
"so_value": 97.0,
"so_rank": "112",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.3096234,
"obp_rank": "107",
"slg_value": 0.391705,
"slg_rank": "104",
"ops_value": 0.7013284,
"ops_rank": 115.0,
"war_value": 0.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 423.0,
"k_percent": 20.3,
"bb_percent": 8.1,
"woba": 0.309,
"xwoba": 0.275,
"xba": 0.222,
"xslg": 0.326,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 32.6,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 9.6,
"whiff_percent": 22.2,
"swing_percent": 48.0
},
"components": {
"expected_quality": -0.5839,
"regression_edge": -0.9714,
"xwoba_edge": -0.7429,
"xba_edge": -0.4,
"xslg_edge": -0.5857,
"barrel_edge": -0.4333,
"hard_hit_edge": -0.7286,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -0.2417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 3,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 3,
"gp_value": 138.0,
"gp_rank": "15",
"ab_value": 495.0,
"ab_rank": "54",
"r_value": 91.0,
"r_rank": "6",
"h_value": 157.0,
"h_rank": "4",
"avg_value": 0.3171717,
"avg_rank": 1.0,
"2b_value": 29.0,
"2b_rank": "13",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 37.0,
"hr_rank": "3",
"rbi_value": 94.0,
"rbi_rank": "4",
"tb_value": 299.0,
"tb_rank": "284",
"bb_value": 96.0,
"bb_rank": "2",
"so_value": 105.0,
"so_rank": "96",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.4330578,
"obp_rank": "1",
"slg_value": 0.6040404,
"slg_rank": "1",
"ops_value": 1.0370982,
"ops_rank": 1.0,
"war_value": 5.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 520.0,
"k_percent": 17.2,
"bb_percent": 15.9,
"woba": 0.431,
"xwoba": 0.451,
"xba": 0.324,
"xslg": 0.656,
"sweet_spot_percent": 41.5,
"barrel_batted_rate": 16.5,
"hard_hit_percent": 53.7,
"exit_velocity_avg": 94.5,
"launch_angle_avg": 19.2,
"whiff_percent": 19.4,
"swing_percent": 43.1
},
"components": {
"expected_quality": 2.3509,
"regression_edge": 0.5714,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.1889,
"hard_hit_edge": 2.2857,
"exit_velocity_edge": 2.4,
"sweet_spot_edge": 1.375,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "665161",
"player_name": "Jeremy Peña",
"offense_factor": 1.0317,
"quality_score": 0.4226,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665161",
"espn_id": 41273,
"player_name": "Jeremy Pena",
"team": "HOU",
"role": "batter",
"espn_rank": 44,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 44,
"gp_value": 90.0,
"gp_rank": "238",
"ab_value": 356.0,
"ab_rank": "164",
"r_value": 67.0,
"r_rank": "62",
"h_value": 100.0,
"h_rank": "125",
"avg_value": 0.2808988,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 46.0,
"rbi_rank": "158",
"tb_value": 169.0,
"tb_rank": "807",
"bb_value": 23.0,
"bb_rank": "244",
"so_value": 85.0,
"so_rank": "153",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.3350515,
"obp_rank": "-",
"slg_value": 0.4747191,
"slg_rank": "-",
"ops_value": 0.8097706,
"ops_rank": null,
"war_value": 3.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 336.0,
"k_percent": 21.9,
"bb_percent": 5.9,
"woba": 0.352,
"xwoba": 0.333,
"xba": 0.276,
"xslg": 0.428,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 11.7,
"whiff_percent": 31.3,
"swing_percent": 54.9
},
"components": {
"expected_quality": 0.5798,
"regression_edge": -0.5429,
"xwoba_edge": 0.9143,
"xba_edge": 1.1429,
"xslg_edge": 0.8714,
"barrel_edge": -0.0111,
"hard_hit_edge": 0.2714,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.0417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 0.993,
"quality_score": -0.0939,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666211",
"espn_id": 37773,
"player_name": "Taylor Trammell",
"team": "HOU",
"role": "batter",
"espn_rank": 604,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 604,
"gp_value": 82.0,
"gp_rank": "272",
"ab_value": 208.0,
"ab_rank": "298",
"r_value": 26.0,
"r_rank": "291",
"h_value": 43.0,
"h_rank": "321",
"avg_value": 0.2067307,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 20.0,
"rbi_rank": "335",
"tb_value": 75.0,
"tb_rank": "1511",
"bb_value": 21.0,
"bb_rank": "266",
"so_value": 72.0,
"so_rank": "200",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.2918454,
"obp_rank": "-",
"slg_value": 0.3605769,
"slg_rank": "-",
"ops_value": 0.6524223,
"ops_rank": null,
"war_value": -0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 201.0,
"k_percent": 30.8,
"bb_percent": 9.0,
"woba": 0.29,
"xwoba": 0.29,
"xba": 0.193,
"xslg": 0.38,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 15.6,
"whiff_percent": 37.9,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.1195,
"regression_edge": 0.0,
"xwoba_edge": -0.3143,
"xba_edge": -1.2286,
"xslg_edge": 0.1857,
"barrel_edge": 1.2778,
"hard_hit_edge": 0.0429,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.925,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 0.9988,
"quality_score": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 52,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 52,
"gp_value": 133.0,
"gp_rank": "57",
"ab_value": 483.0,
"ab_rank": "71",
"r_value": 56.0,
"r_rank": "113",
"h_value": 124.0,
"h_rank": "67",
"avg_value": 0.2567287,
"avg_rank": 66.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 18.0,
"hr_rank": "76",
"rbi_value": 74.0,
"rbi_rank": "40",
"tb_value": 203.0,
"tb_rank": "630",
"bb_value": 60.0,
"bb_rank": "41",
"so_value": 73.0,
"so_rank": "194",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3557522,
"obp_rank": "35",
"slg_value": 0.4202898,
"slg_rank": "72",
"ops_value": 0.776042,
"ops_rank": 57.0,
"war_value": 3.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 504.0,
"k_percent": 12.9,
"bb_percent": 10.6,
"woba": 0.345,
"xwoba": 0.321,
"xba": 0.245,
"xslg": 0.365,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 24.0,
"whiff_percent": 15.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.093,
"regression_edge": -0.6857,
"xwoba_edge": 0.5714,
"xba_edge": 0.2571,
"xslg_edge": -0.0286,
"barrel_edge": -0.4111,
"hard_hit_edge": -1.3571,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.675,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "673237",
"player_name": "Yainer Diaz",
"offense_factor": 0.9982,
"quality_score": -0.0241,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673237",
"espn_id": 4781491,
"player_name": "Yainer Diaz",
"team": "HOU",
"role": "batter",
"espn_rank": 235,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 235,
"gp_value": 76.0,
"gp_rank": "297",
"ab_value": 264.0,
"ab_rank": "241",
"r_value": 30.0,
"r_rank": "260",
"h_value": 68.0,
"h_rank": "226",
"avg_value": 0.2575757,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 33.0,
"rbi_rank": "242",
"tb_value": 109.0,
"tb_rank": "1563",
"bb_value": 10.0,
"bb_rank": "384",
"so_value": 45.0,
"so_rank": "323",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2877697,
"obp_rank": "-",
"slg_value": 0.4128787,
"slg_rank": "-",
"ops_value": 0.7006484,
"ops_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 246.0,
"k_percent": 16.2,
"bb_percent": 3.6,
"woba": 0.305,
"xwoba": 0.299,
"xba": 0.261,
"xslg": 0.391,
"sweet_spot_percent": 28.5,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 6.9,
"whiff_percent": 22.7,
"swing_percent": 58.0
},
"components": {
"expected_quality": -0.0001,
"regression_edge": -0.1714,
"xwoba_edge": -0.0571,
"xba_edge": 0.7143,
"xslg_edge": 0.3429,
"barrel_edge": -0.2778,
"hard_hit_edge": -0.2857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.7917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "662139",
"player_name": "Daulton Varsho",
"offense_factor": 0.9859,
"quality_score": -0.1883,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662139",
"espn_id": 40963,
"player_name": "Daulton Varsho",
"team": "HOU",
"role": "batter",
"espn_rank": 225,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 225,
"gp_value": 125.0,
"gp_rank": "102",
"ab_value": 429.0,
"ab_rank": "110",
"r_value": 46.0,
"r_rank": "164",
"h_value": 98.0,
"h_rank": "132",
"avg_value": 0.2284382,
"avg_rank": 119.0,
"2b_value": 22.0,
"2b_rank": "85",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 36.0,
"rbi_rank": "213",
"tb_value": 154.0,
"tb_rank": "603",
"bb_value": 38.0,
"bb_rank": "139",
"so_value": 95.0,
"so_rank": "119",
"sb_value": 11.0,
"sb_rank": "73",
"obp_value": 0.293617,
"obp_rank": "133",
"slg_value": 0.3589743,
"slg_rank": "131",
"ops_value": 0.6525913,
"ops_rank": 135.0,
"war_value": 0.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 412.0,
"k_percent": 20.2,
"bb_percent": 8.1,
"woba": 0.289,
"xwoba": 0.288,
"xba": 0.233,
"xslg": 0.354,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 15.1,
"whiff_percent": 21.5,
"swing_percent": 52.7
},
"components": {
"expected_quality": -0.2143,
"regression_edge": -0.0286,
"xwoba_edge": -0.3714,
"xba_edge": -0.0857,
"xslg_edge": -0.1857,
"barrel_edge": -0.0778,
"hard_hit_edge": -0.0571,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.075,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"offense_factor": 0.9796,
"quality_score": -0.2716,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664774",
"espn_id": 37798,
"player_name": "LaMonte Wade Jr.",
"team": "HOU",
"role": "batter",
"espn_rank": 438,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 438,
"gp_value": 43.0,
"gp_rank": "406",
"ab_value": 104.0,
"ab_rank": "422",
"r_value": 14.0,
"r_rank": "394",
"h_value": 21.0,
"h_rank": "426",
"avg_value": 0.201923,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": "373",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 17.0,
"rbi_rank": "350",
"tb_value": 35.0,
"tb_rank": "2464",
"bb_value": 18.0,
"bb_rank": "300",
"so_value": 31.0,
"so_rank": "399",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3196721,
"obp_rank": "-",
"slg_value": 0.3365384,
"slg_rank": "-",
"ops_value": 0.6562105,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 99.0,
"k_percent": 25.4,
"bb_percent": 14.8,
"woba": 0.3,
"xwoba": 0.281,
"xba": 0.19,
"xslg": 0.3,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 35.6,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 13.6,
"whiff_percent": 22.8,
"swing_percent": 38.8
},
"components": {
"expected_quality": -0.6133,
"regression_edge": -0.5429,
"xwoba_edge": -0.5714,
"xba_edge": -1.3143,
"xslg_edge": -0.9571,
"barrel_edge": -0.5667,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.525,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "572233",
"player_name": "Christian Walker",
"offense_factor": 1.0012,
"quality_score": 0.0164,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "572233",
"espn_id": 32758,
"player_name": "Christian Walker",
"team": "HOU",
"role": "batter",
"espn_rank": 127,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 127,
"gp_value": 135.0,
"gp_rank": "36",
"ab_value": 496.0,
"ab_rank": "51",
"r_value": 64.0,
"r_rank": "82",
"h_value": 112.0,
"h_rank": "90",
"avg_value": 0.2258064,
"avg_rank": 123.0,
"2b_value": 25.0,
"2b_rank": "47",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 24.0,
"hr_rank": "26",
"rbi_value": 76.0,
"rbi_rank": "33",
"tb_value": 211.0,
"tb_rank": "481",
"bb_value": 44.0,
"bb_rank": "94",
"so_value": 131.0,
"so_rank": "41",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3007246,
"obp_rank": "122",
"slg_value": 0.4254032,
"slg_rank": "65",
"ops_value": 0.7261278,
"ops_rank": 92.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 498.0,
"k_percent": 23.7,
"bb_percent": 8.0,
"woba": 0.317,
"xwoba": 0.3,
"xba": 0.224,
"xslg": 0.382,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 13.6,
"whiff_percent": 29.5,
"swing_percent": 50.3
},
"components": {
"expected_quality": 0.0981,
"regression_edge": -0.4857,
"xwoba_edge": -0.0286,
"xba_edge": -0.3429,
"xslg_edge": 0.2143,
"barrel_edge": 0.5222,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.4583,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.03,
"raw_average_factor": 1.03,
"team_espn_average_rank": 164.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.089,
"quality_score": 1.187,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808959",
"espn_id": 4872595,
"player_name": "Munetaka Murakami",
"team": "CHW",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 93,
"gp_value": 104.0,
"gp_rank": "179",
"ab_value": 372.0,
"ab_rank": "154",
"r_value": 72.0,
"r_rank": "47",
"h_value": 80.0,
"h_rank": "187",
"avg_value": 0.2150537,
"avg_rank": 136.0,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 29.0,
"hr_rank": "13",
"rbi_value": 59.0,
"rbi_rank": "88",
"tb_value": 181.0,
"tb_rank": "1004",
"bb_value": 81.0,
"bb_rank": "9",
"so_value": 154.0,
"so_rank": "12",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3574561,
"obp_rank": "34",
"slg_value": 0.4865591,
"slg_rank": "21",
"ops_value": 0.8440152,
"ops_rank": 21.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 383.0,
"k_percent": 33.8,
"bb_percent": 17.8,
"woba": 0.364,
"xwoba": 0.358,
"xba": 0.211,
"xslg": 0.478,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 19.6,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 16.2,
"whiff_percent": 42.1,
"swing_percent": 40.3
},
"components": {
"expected_quality": 1.4082,
"regression_edge": -0.1714,
"xwoba_edge": 1.6286,
"xba_edge": -0.7143,
"xslg_edge": 1.5857,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.16,
"sweet_spot_edge": -0.525,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0361,
"quality_score": 0.4812,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "803011",
"espn_id": 5207167,
"player_name": "Sam Antonacci",
"team": "CHW",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 123,
"gp_value": 119.0,
"gp_rank": "136",
"ab_value": 408.0,
"ab_rank": "120",
"r_value": 70.0,
"r_rank": "52",
"h_value": 108.0,
"h_rank": "99",
"avg_value": 0.2647058,
"avg_rank": 56.0,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 40.0,
"rbi_rank": "190",
"tb_value": 158.0,
"tb_rank": "930",
"bb_value": 40.0,
"bb_rank": "124",
"so_value": 75.0,
"so_rank": "190",
"sb_value": 17.0,
"sb_rank": "41",
"obp_value": 0.3649789,
"obp_rank": "23",
"slg_value": 0.3872549,
"slg_rank": "108",
"ops_value": 0.7522338,
"ops_rank": 70.0,
"war_value": 1.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 416.0,
"k_percent": 15.7,
"bb_percent": 8.4,
"woba": 0.34,
"xwoba": 0.344,
"xba": 0.273,
"xslg": 0.391,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 10.0,
"whiff_percent": 15.4,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.5409,
"regression_edge": 0.1143,
"xwoba_edge": 1.2286,
"xba_edge": 1.0571,
"xslg_edge": 0.3429,
"barrel_edge": -0.2778,
"hard_hit_edge": -0.7143,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.6917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "695731",
"player_name": "Braden Montgomery",
"offense_factor": 1.0281,
"quality_score": 0.3742,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695731",
"espn_id": 4950345,
"player_name": "Braden Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 343,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 343,
"gp_value": 71.0,
"gp_rank": "316",
"ab_value": 256.0,
"ab_rank": "252",
"r_value": 38.0,
"r_rank": "209",
"h_value": 57.0,
"h_rank": "262",
"avg_value": 0.2226562,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 35.0,
"rbi_rank": "225",
"tb_value": 90.0,
"tb_rank": "1446",
"bb_value": 31.0,
"bb_rank": "190",
"so_value": 58.0,
"so_rank": "267",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3127147,
"obp_rank": "-",
"slg_value": 0.3515625,
"slg_rank": "-",
"ops_value": 0.6642772,
"ops_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 19.9,
"bb_percent": 10.7,
"woba": 0.299,
"xwoba": 0.326,
"xba": 0.255,
"xslg": 0.386,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 4.8,
"whiff_percent": 29.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": 0.3096,
"regression_edge": 0.7714,
"xwoba_edge": 0.7143,
"xba_edge": 0.5429,
"xslg_edge": 0.2714,
"barrel_edge": -0.5889,
"hard_hit_edge": 0.5,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.775,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.0201,
"quality_score": 0.2686,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643217",
"espn_id": 34986,
"player_name": "Andrew Benintendi",
"team": "CHW",
"role": "batter",
"espn_rank": 353,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 353,
"gp_value": 122.0,
"gp_rank": "119",
"ab_value": 376.0,
"ab_rank": "147",
"r_value": 52.0,
"r_rank": "139",
"h_value": 92.0,
"h_rank": "144",
"avg_value": 0.2446808,
"avg_rank": null,
"2b_value": 21.0,
"2b_rank": "95",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 70.0,
"rbi_rank": "45",
"tb_value": 159.0,
"tb_rank": "730",
"bb_value": 33.0,
"bb_rank": "175",
"so_value": 97.0,
"so_rank": "112",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3036144,
"obp_rank": "-",
"slg_value": 0.4228723,
"slg_rank": "-",
"ops_value": 0.7264867,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 365.0,
"k_percent": 23.3,
"bb_percent": 7.9,
"woba": 0.315,
"xwoba": 0.309,
"xba": 0.244,
"xslg": 0.404,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 17.0,
"whiff_percent": 28.3,
"swing_percent": 52.3
},
"components": {
"expected_quality": 0.3402,
"regression_edge": -0.1714,
"xwoba_edge": 0.2286,
"xba_edge": 0.2286,
"xslg_edge": 0.5286,
"barrel_edge": 0.4111,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.3583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 1.0023,
"quality_score": 0.031,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671976",
"espn_id": 5085893,
"player_name": "Tristan Peters",
"team": "CHW",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 29,
"gp_value": 134.0,
"gp_rank": "45",
"ab_value": 376.0,
"ab_rank": "147",
"r_value": 54.0,
"r_rank": "124",
"h_value": 105.0,
"h_rank": "111",
"avg_value": 0.2792553,
"avg_rank": 26.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 52.0,
"rbi_rank": "120",
"tb_value": 176.0,
"tb_rank": "621",
"bb_value": 33.0,
"bb_rank": "175",
"so_value": 76.0,
"so_rank": "186",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3453237,
"obp_rank": "50",
"slg_value": 0.4680851,
"slg_rank": "35",
"ops_value": 0.8134088,
"ops_rank": 37.0,
"war_value": 4.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 360.0,
"k_percent": 18.1,
"bb_percent": 7.8,
"woba": 0.354,
"xwoba": 0.317,
"xba": 0.254,
"xslg": 0.395,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 17.7,
"whiff_percent": 23.8,
"swing_percent": 54.0
},
"components": {
"expected_quality": 0.2081,
"regression_edge": -1.0571,
"xwoba_edge": 0.4571,
"xba_edge": 0.5143,
"xslg_edge": 0.4,
"barrel_edge": -0.1667,
"hard_hit_edge": -0.6571,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.225,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "668670",
"player_name": "Jake Rogers",
"offense_factor": 0.9852,
"quality_score": -0.1973,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668670",
"espn_id": 39900,
"player_name": "Jake Rogers",
"team": "CHW",
"role": "batter",
"espn_rank": 354,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 354,
"gp_value": 51.0,
"gp_rank": "383",
"ab_value": 131.0,
"ab_rank": "387",
"r_value": 17.0,
"r_rank": "372",
"h_value": 22.0,
"h_rank": "420",
"avg_value": 0.1679389,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": "402",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 13.0,
"rbi_rank": "383",
"tb_value": 40.0,
"tb_rank": "2069",
"bb_value": 20.0,
"bb_rank": "278",
"so_value": 46.0,
"so_rank": "318",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2774193,
"obp_rank": "-",
"slg_value": 0.3053435,
"slg_rank": "-",
"ops_value": 0.5827628,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 131.0,
"k_percent": 29.5,
"bb_percent": 12.8,
"woba": 0.265,
"xwoba": 0.275,
"xba": 0.182,
"xslg": 0.317,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 21.2,
"whiff_percent": 26.1,
"swing_percent": 43.0
},
"components": {
"expected_quality": -0.4318,
"regression_edge": 0.2857,
"xwoba_edge": -0.7429,
"xba_edge": -1.5429,
"xslg_edge": -0.7143,
"barrel_edge": 0.7667,
"hard_hit_edge": 0.0714,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.1083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1246,
"quality_score": 1.6607,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678246",
"espn_id": 42453,
"player_name": "Miguel Vargas",
"team": "CHW",
"role": "batter",
"espn_rank": 22,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 22,
"gp_value": 137.0,
"gp_rank": "20",
"ab_value": 506.0,
"ab_rank": "41",
"r_value": 93.0,
"r_rank": "5",
"h_value": 126.0,
"h_rank": "59",
"avg_value": 0.2490118,
"avg_rank": 85.0,
"2b_value": 30.0,
"2b_rank": "11",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 29.0,
"hr_rank": "13",
"rbi_value": 76.0,
"rbi_rank": "33",
"tb_value": 245.0,
"tb_rank": "375",
"bb_value": 86.0,
"bb_rank": "7",
"so_value": 106.0,
"so_rank": "93",
"sb_value": 13.0,
"sb_rank": "61",
"obp_value": 0.3625827,
"obp_rank": "25",
"slg_value": 0.4841897,
"slg_rank": "26",
"ops_value": 0.8467724,
"ops_rank": 17.0,
"war_value": 4.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 538.0,
"k_percent": 17.5,
"bb_percent": 14.2,
"woba": 0.366,
"xwoba": 0.388,
"xba": 0.269,
"xslg": 0.515,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 20.0,
"whiff_percent": 20.7,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.8288,
"regression_edge": 0.6286,
"xwoba_edge": 2.4857,
"xba_edge": 0.9429,
"xslg_edge": 2.1143,
"barrel_edge": 1.6111,
"hard_hit_edge": 1.1143,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 1.325,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9723,
"quality_score": -0.3699,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805367",
"espn_id": 5136929,
"player_name": "Chase Meidroth",
"team": "CHW",
"role": "batter",
"espn_rank": 53,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 53,
"gp_value": 133.0,
"gp_rank": "57",
"ab_value": 494.0,
"ab_rank": "55",
"r_value": 76.0,
"r_rank": "39",
"h_value": 134.0,
"h_rank": "39",
"avg_value": 0.271255,
"avg_rank": 43.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 51.0,
"rbi_rank": "127",
"tb_value": 197.0,
"tb_rank": "1087",
"bb_value": 53.0,
"bb_rank": "60",
"so_value": 122.0,
"so_rank": "54",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3447653,
"obp_rank": "50",
"slg_value": 0.3987854,
"slg_rank": "98",
"ops_value": 0.7435507,
"ops_rank": 76.0,
"war_value": 3.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 495.0,
"k_percent": 21.8,
"bb_percent": 9.5,
"woba": 0.331,
"xwoba": 0.294,
"xba": 0.236,
"xslg": 0.335,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 34.3,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 8.1,
"whiff_percent": 19.0,
"swing_percent": 41.6
},
"components": {
"expected_quality": -0.258,
"regression_edge": -1.0571,
"xwoba_edge": -0.2,
"xba_edge": 0.0,
"xslg_edge": -0.4571,
"barrel_edge": -0.5444,
"hard_hit_edge": -0.4857,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0124,
"quality_score": 0.1654,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695657",
"espn_id": 4872685,
"player_name": "Colson Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 114,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 114,
"gp_value": 131.0,
"gp_rank": "69",
"ab_value": 494.0,
"ab_rank": "55",
"r_value": 63.0,
"r_rank": "86",
"h_value": 106.0,
"h_rank": "109",
"avg_value": 0.2145748,
"avg_rank": 136.0,
"2b_value": 22.0,
"2b_rank": "85",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 29.0,
"hr_rank": "13",
"rbi_value": 79.0,
"rbi_rank": "26",
"tb_value": 215.0,
"tb_rank": "809",
"bb_value": 47.0,
"bb_rank": "84",
"so_value": 188.0,
"so_rank": "2",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2960288,
"obp_rank": "128",
"slg_value": 0.4352226,
"slg_rank": "59",
"ops_value": 0.7312514,
"ops_rank": 89.0,
"war_value": 1.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 490.0,
"k_percent": 33.9,
"bb_percent": 8.5,
"woba": 0.318,
"xwoba": 0.305,
"xba": 0.211,
"xslg": 0.41,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 42.0,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 23.6,
"whiff_percent": 37.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.2528,
"regression_edge": -0.3714,
"xwoba_edge": 0.1143,
"xba_edge": -0.7143,
"xslg_edge": 0.6143,
"barrel_edge": 1.2778,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.1917,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | True | 818 | -0.3805 | 1 | 1.0323 | 0.9811 | 0.9580 | 1.0935 | neutral | 0.3410 | 0.3530 | 19.40 | 7 | 24.40 | 9.60 | 42.50 | |
| Home HOU | True | 93 | 0.3054 | 1 | 0.9740 | 1.0206 | 1.0760 | 0.9645 | neutral | 0.2930 | 0.3030 | 25.30 | 12.90 | 25.40 | 6.30 | 37.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | True | None | 91 | 91.82 | 2186 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1096 | |
| Home HOU | True | None | 94 | 92.30 | 2201 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1360 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9871 |
| home_runs_vs_away_pitcher | 1.0148 |
| home_pitcher_starter_only_factor | 0.9740 |
| away_pitcher_starter_only_factor | 1.0323 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.5185 |
| home_pitcher_quality_edge | 0.3896 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "686613",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 291.0,
"k_percent": 25.3,
"bb_percent": 12.9,
"woba": 0.303,
"xwoba": 0.293,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.4,
"avg_best_speed": 73.4226,
"avg_hyper_speed": 93.2338,
"whiff_percent": 25.4,
"swing_percent": 41.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4571,
"command_and_miss": 0.0386,
"regression_edge": 0.2857,
"xwoba_edge": 0.5143,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.0571,
"whiff_edge": 0.0286,
"bb_edge": -0.95,
"pitch_design_score": 0.136
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686613",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2961,
"release_spin_rate": 2200.9096,
"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.136,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9712,
"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.3054,
"sample_weight": 1.0,
"run_prevention_factor": 0.974,
"strikeout_factor": 1.0206,
"walk_factor": 1.076,
"homer_factor": 0.9645,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686613",
"espn_id": 4717803,
"player_name": "Hunter Brown",
"team": "HOU",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 93,
"gp_value": 15.0,
"gp_rank": 449,
"gs_value": 15.0,
"gs_rank": 131,
"qs_value": 6.0,
"qs_rank": 89,
"era_value": 3.3333,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 81.0,
"ip_rank": 151,
"h_value": 61.0,
"h_rank": 181,
"er_value": 30.0,
"er_rank": 182,
"hr_value": 10.0,
"hr_rank": 151,
"bb_value": 44.0,
"bb_rank": 57,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 9.555555,
"k_per_9_rank": 23,
"whip_value": 1.2962,
"whip_rank": null,
"war_value": 1.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "622491",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 502.0,
"k_percent": 19.4,
"bb_percent": 7.0,
"woba": 0.353,
"xwoba": 0.341,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 42.5,
"avg_best_speed": 79.7302,
"avg_hyper_speed": 94.473,
"whiff_percent": 24.4,
"swing_percent": 52.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.7119,
"command_and_miss": -0.0957,
"regression_edge": 0.3429,
"xwoba_edge": -0.8571,
"barrel_edge": -0.5111,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.1143,
"bb_edge": 0.525,
"pitch_design_score": 0.1096
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622491",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8248,
"release_spin_rate": 2186.0582,
"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.1096,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7827,
"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.3805,
"sample_weight": 1.0,
"run_prevention_factor": 1.0323,
"strikeout_factor": 0.9811,
"walk_factor": 0.958,
"homer_factor": 1.0935,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622491",
"espn_id": 35124,
"player_name": "Luis Castillo",
"team": "CHW",
"role": "pitcher",
"espn_rank": 818,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 818,
"gp_value": 25.0,
"gp_rank": 302,
"gs_value": 22.0,
"gs_rank": 81,
"qs_value": 5.0,
"qs_rank": 108,
"era_value": 5.3114,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 122.0,
"ip_rank": 88,
"h_value": 138.0,
"h_rank": 30,
"er_value": 72.0,
"er_rank": 18,
"hr_value": 23.0,
"hr_rank": 17,
"bb_value": 38.0,
"bb_rank": 89,
"k_value": 106.0,
"k_rank": 83,
"k_per_9_value": 7.819672,
"k_per_9_rank": 25,
"whip_value": 1.4426,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9871,
"home_runs_vs_away_pitcher": 1.0148,
"home_pitcher_starter_only_factor": 0.974,
"away_pitcher_starter_only_factor": 1.0323,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.5185,
"home_pitcher_quality_edge": 0.3896
},
"score_before": {
"away_runs": 4.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 3.9483,
"home_runs": 5.0741,
"home_win_probability": 0.6027
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHW | 6-4 | 0.600 | 4.40 | 4.30 | 1 | 1L | average | average |
| Home HOU | 6-4 | 0.600 | 4.30 | 4.20 | 1 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHW | 73-66 | 0.525 | 43 | 0.309 | True |
| Home HOU | 71-69 | 0.507 | -42 | -0.300 | True |
| Signal | - | - | -0.609 | -0.415 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | CHW @ HOU | 0 - 2 | HOU | 2 | close |
| 2026-09-01 | CHW @ HOU | 5 - 1 | CHW | 4 | blowout |
| 2026-08-31 | CHW @ HOU | 3 - 6 | HOU | 3 | blowout |
| 2026-07-26 | HOU @ CHW | 3 - 12 | CHW | 9 | blowout |
| 2026-07-25 | HOU @ CHW | 4 - 1 | HOU | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHW | - | - | 4 | - | - | - | - |
| Game target HOU | - | - | 5 | - | - | - | - |
| Player finalized CHW | 32 | 8 | 5 | 1 | 4 | 4 | 9 |
| Player finalized HOU | 35 | 8 | 4 | 1 | 4 | 3 | 8 |
| Player model fractional CHW | 31.90 | 7.46 | 4.73 | 1.12 | 3.96 | 4.03 | 8.25 |
| Player model fractional HOU | 32.62 | 7.38 | 4.21 | 1.22 | 3.84 | 3.18 | 7.29 |
| Simulation box CHW | 35 | 8 | 4 | 2 | 4 | 6 | 7 |
| Simulation box HOU | 37 | 13 | 5 | 1 | 5 | 1 | 12 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Starter | Luis Castillo | 4.20 | 4 | 6 | 7 | 1 | 5.63 | 1.52 | True |
| Away CHW | Closer | Grant Taylor | 1.10 | 0 | 2 | 1 | 0 | 2.00 | 0.93 | True |
| Away CHW | Setup Man | Sean Newcomb | 1.10 | 0 | 3 | 2 | 0 | 2.20 | 1.05 | True |
| Away CHW | Middle Reliever (High Leverage) | Bryan Hudson | 0.20 | 1 | 1 | 1 | 0 | 6.41 | 1.40 | True |
| Home HOU | Starter | Hunter Brown | 5.20 | 3 | 3 | 6 | 4 | 3.75 | 1.32 | True |
| Home HOU | Middle Reliever (High Leverage) | Bryan Abreu | 1 | 0 | 1 | 0 | 0 | 3.06 | 1.41 | True |
| Home HOU | Closer | Josh Hader | 1 | 0 | 1 | 0 | 0 | 1.85 | 0.76 | True |
| Home HOU | Setup Man | Steven Okert | 1 | 1 | 1 | 1 | 1 | 3.49 | 1.20 | True |
| Home HOU | Middle Reliever (High Leverage) | AJ Blubaugh | 0.10 | 0 | 1 | 1 | 1 | 1.65 | 1.05 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | HOU | batter | RF | Taylor Trammell | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 3.0400 | boost | worse |
| away | CHW | batter | RF | Braden Montgomery | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.1710 | boost | worse |
| home | HOU | batter | 2B | Jose Altuve | better | 7 | 5 | 2 | 4 | 3 | predicted_H | 2.1000 | boost | better |
| home | HOU | batter | SS | Jeremy Peña | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.8300 | boost | better |
| home | HOU | batter | 1B | Christian Walker | better | 12 | 6 | 6 | 7 | 5 | predicted_H | 1.6200 | boost | better |
| away | CHW | batter | LF | Sam Antonacci | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | 1.5420 | boost | better |
| away | CHW | batter | SS | Colson Montgomery | better | 9 | 5 | 4 | 6 | 3 | predicted_SO | -1.4350 | deboost | better |
| away | CHW | batter | DH | Andrew Benintendi | better | 9 | 6 | 3 | 7 | 2 | predicted_RBI | 1.4300 | boost | better |
| away | CHW | batter | 3B | Miguel Vargas | better | 10 | 7 | 3 | 8 | 2 | predicted_AB | -1.4200 | deboost | worse |
| home | HOU | batter | LF | LaMonte Wade Jr. | better | 11 | 7 | 4 | 6 | 5 | predicted_AB | 1.4000 | boost | better |
| away | CHW | batter | C | Jake Rogers | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.2500 | boost | better |
| away | CHW | batter | 1B | Munetaka Murakami | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_BB | 1.2210 | boost | better |
| home | HOU | batter | CF | Daulton Varsho | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.1880 | boost | worse |
| home | HOU | batter | C | Yainer Diaz | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | -1.1000 | deboost | worse |
| home | HOU | batter | 3B | Isaac Paredes | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.0600 | boost | better |
| home | HOU | batter | DH | Yordan Alvarez | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.0100 | boost | better |
| home | HOU | pitcher | Starter | Hunter Brown | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | HOU | pitcher | Middle Reliever (High Leverage) | AJ Blubaugh | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | CHW | batter | 2B | Chase Meidroth | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | -0.9300 | deboost | worse |
| away | CHW | batter | CF | Tristan Peters | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | 0.6900 | boost | better |
| away | CHW | pitcher | Starter | Luis Castillo | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CHW | pitcher | Middle Reliever (High Leverage) | Bryan Hudson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CHW | pitcher | Closer | Grant Taylor | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | CHW | pitcher | Setup Man | Sean Newcomb | 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 | Luis Castillo |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3805 |
| ESPN Rank | 818 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1096 |
| Avg Velo | 91.8248 |
| Avg Spin | 2186.0582 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 4 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 5.3115 |
| Season WHIP | 1.4426 |
| Role Avg IP | 5.0300 |
| Recent Avg IP | 4.4670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"opponent": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"edges": {
"quality_edge": 0.0898,
"offense_edge": 0.0555,
"opponent_offense_edge": 0.0051,
"defense_strength": 0.0134,
"opponent_defense_weakness": 0.067,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0038,
"run_prevention": 0.995,
"strikeout": 1.0023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622491",
"profile": {
"available": true,
"pitcher_id": "622491",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 502.0,
"k_percent": 19.4,
"bb_percent": 7.0,
"woba": 0.353,
"xwoba": 0.341,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 42.5,
"avg_best_speed": 79.7302,
"avg_hyper_speed": 94.473,
"whiff_percent": 24.4,
"swing_percent": 52.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.7119,
"command_and_miss": -0.0957,
"regression_edge": 0.3429,
"xwoba_edge": -0.8571,
"barrel_edge": -0.5111,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.1143,
"bb_edge": 0.525,
"pitch_design_score": 0.1096
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622491",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8248,
"release_spin_rate": 2186.0582,
"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.1096,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7827,
"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.3805,
"sample_weight": 1.0,
"run_prevention_factor": 1.0323,
"strikeout_factor": 0.9811,
"walk_factor": 0.958,
"homer_factor": 1.0935,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622491",
"espn_id": 35124,
"player_name": "Luis Castillo",
"team": "CHW",
"role": "pitcher",
"espn_rank": 818,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 818,
"gp_value": 25.0,
"gp_rank": 302,
"gs_value": 22.0,
"gs_rank": 81,
"qs_value": 5.0,
"qs_rank": 108,
"era_value": 5.3114,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 122.0,
"ip_rank": 88,
"h_value": 138.0,
"h_rank": 30,
"er_value": 72.0,
"er_rank": 18,
"hr_value": 23.0,
"hr_rank": 17,
"bb_value": 38.0,
"bb_rank": 89,
"k_value": 106.0,
"k_rank": 83,
"k_per_9_value": 7.819672,
"k_per_9_rank": 25,
"whip_value": 1.4426,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0323,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0323,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.958,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0935,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9811,
"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": 51.1,
"ER": 31,
"H": 64,
"BB": 13,
"SO": 37,
"HR": 14,
"ERA": 5.4350649350649345,
"WHIP": 1.5,
"K9": 6.487012987012987,
"HR9": 2.4545454545454546,
"games_pitched": 10,
"quality_starts": 4,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "622491",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.82478399959184,
"release_spin_rate": 2186.058161203955,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8248,
"release_spin_rate": 2186.0582,
"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.1096,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7827,
"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": "622491",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.1,
"ER": 16.0,
"R": 17.0,
"H": 31.0,
"BB": 6.0,
"SO": 20.0,
"HR": 7.0,
"BF": 103.0,
"Pitches": 429.0
},
"per_game": {
"IP": 4.1,
"ER": 3.2,
"R": 3.4,
"H": 6.2,
"BB": 1.2,
"SO": 4.0,
"HR": 1.4,
"BF": 20.6,
"Pitches": 85.8
},
"rates": {
"ERA": 6.4478,
"WHIP": 1.6567,
"ER_per_IP": 0.71642,
"H_per_IP": 1.38806,
"BB_per_IP": 0.26866,
"SO_per_IP": 0.89552,
"HR_per_IP": 0.31343
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 31.0,
"R": 32.0,
"H": 64.0,
"BB": 13.0,
"SO": 37.0,
"HR": 14.0,
"BF": 229.0,
"Pitches": 903.0
},
"per_game": {
"IP": 5.0,
"ER": 3.1,
"R": 3.2,
"H": 6.4,
"BB": 1.3,
"SO": 3.7,
"HR": 1.4,
"BF": 22.9,
"Pitches": 90.3
},
"rates": {
"ERA": 5.4351,
"WHIP": 1.5,
"ER_per_IP": 0.6039,
"H_per_IP": 1.24675,
"BB_per_IP": 0.25325,
"SO_per_IP": 0.72078,
"HR_per_IP": 0.27273
}
},
"season": {
"games": 25,
"totals": {
"IP": 122.0,
"ER": 72.0,
"R": 82.0,
"H": 138.0,
"BB": 38.0,
"SO": 106.0,
"HR": 23.0,
"BF": 546.0,
"Pitches": 2196.0
},
"per_game": {
"IP": 5.0,
"ER": 2.88,
"R": 3.28,
"H": 5.52,
"BB": 1.52,
"SO": 4.24,
"HR": 0.92,
"BF": 21.84,
"Pitches": 87.84
},
"rates": {
"ERA": 5.3115,
"WHIP": 1.4426,
"ER_per_IP": 0.59016,
"H_per_IP": 1.13115,
"BB_per_IP": 0.31148,
"SO_per_IP": 0.86885,
"HR_per_IP": 0.18852
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.939,
"predicted_H": 5.797,
"predicted_BB": 1.353,
"predicted_SO": 3.978,
"predicted_HR": 1.187,
"predicted_ERA": 5.6347,
"predicted_WHIP": 1.5231
}
}{
"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": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.939,
"final": 2.9646,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.797,
"final": 6.3028,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.353,
"final": 1.2046,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 3.978,
"final": 4.8281,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.187,
"final": 1.1084,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6347,
"final": 5.6347,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5231,
"final": 1.5231,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Grant Taylor |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7394 |
| ESPN Rank | 38 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1723 |
| Avg Velo | 92.9447 |
| Avg Spin | 2431.2963 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.3964 |
| Season WHIP | 1.0296 |
| Role Avg IP | 1.3870 |
| Recent Avg IP | 1.6000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"opponent": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"edges": {
"quality_edge": 0.0898,
"offense_edge": 0.0555,
"opponent_offense_edge": 0.0051,
"defense_strength": 0.0134,
"opponent_defense_weakness": 0.067,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0038,
"run_prevention": 0.995,
"strikeout": 1.0023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 218.0,
"k_percent": 33.0,
"bb_percent": 8.4,
"woba": 0.242,
"xwoba": 0.247,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 41.6,
"avg_best_speed": 79.8234,
"avg_hyper_speed": 94.1005,
"whiff_percent": 28.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.0816,
"command_and_miss": 0.9336,
"regression_edge": -0.1429,
"xwoba_edge": 1.8286,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.5429,
"whiff_edge": 0.5286,
"bb_edge": 0.175,
"pitch_design_score": 0.1723
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691799",
"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": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9447,
"release_spin_rate": 2431.2963,
"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.1723,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2306,
"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.7394,
"sample_weight": 0.872,
"run_prevention_factor": 0.9372,
"strikeout_factor": 1.0737,
"walk_factor": 0.9878,
"homer_factor": 0.9525,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691799",
"espn_id": 4927630,
"player_name": "Grant Taylor",
"team": "CHW",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 38,
"gp_value": 53.0,
"gp_rank": 74,
"gs_value": 4.0,
"gs_rank": 230,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.0,
"era_rank": null,
"w_value": 7.0,
"w_rank": 79,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 8.0,
"sv_rank": 30,
"hld_value": 10.0,
"hld_rank": 80,
"ip_value": 72.0,
"ip_rank": 171,
"h_value": 49.0,
"h_rank": 237,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 24.0,
"bb_rank": 215,
"k_value": 94.0,
"k_rank": 107,
"k_per_9_value": 11.75,
"k_per_9_rank": 16,
"whip_value": 1.0138,
"whip_rank": null,
"war_value": 2.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9452,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9452,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9894,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9586,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0643,
"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": 15.0,
"ER": 2,
"H": 5,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 1.2,
"WHIP": 0.7333333333333333,
"K9": 9.6,
"HR9": 0.6,
"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-02T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"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": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.94466504167202,
"release_spin_rate": 2431.296292552188,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9447,
"release_spin_rate": 2431.2963,
"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.1723,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2306,
"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.323,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6937,
"prior_weight": 0.3063
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "691799",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 41,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.0,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.2,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.625,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 209.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 5.4,
"Pitches": 20.9
},
"rates": {
"ERA": 1.2,
"WHIP": 0.7333,
"ER_per_IP": 0.13333,
"H_per_IP": 0.33333,
"BB_per_IP": 0.4,
"SO_per_IP": 1.06667,
"HR_per_IP": 0.06667
}
},
"season": {
"games": 41,
"totals": {
"IP": 56.1,
"ER": 15.0,
"R": 21.0,
"H": 40.0,
"BB": 18.0,
"SO": 76.0,
"HR": 4.0,
"BF": 225.0,
"Pitches": 905.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3659,
"R": 0.5122,
"H": 0.9756,
"BB": 0.439,
"SO": 1.8537,
"HR": 0.0976,
"BF": 5.4878,
"Pitches": 22.0732
},
"rates": {
"ERA": 2.3964,
"WHIP": 1.0296,
"ER_per_IP": 0.26627,
"H_per_IP": 0.71006,
"BB_per_IP": 0.31953,
"SO_per_IP": 1.34911,
"HR_per_IP": 0.07101
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.319,
"predicted_H": 0.911,
"predicted_BB": 0.423,
"predicted_SO": 1.56,
"predicted_HR": 0.102,
"predicted_ERA": 1.9955,
"predicted_WHIP": 0.9275
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4794,
"form_weight": 0.5206,
"form_reliability": 0.6937,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.323,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6937,
"prior_weight": 0.3063
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.319,
"final": 0.1661,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.911,
"final": 0.9537,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.423,
"final": 0.2202,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.56,
"final": 1.7709,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.102,
"final": 0.0531,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9955,
"final": 1.9955,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9275,
"final": 0.9275,
"source": "form_only"
}
}
}{
"available": false,
"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 | Sean Newcomb |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1003 |
| ESPN Rank | 41 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0144 |
| Avg Velo | 89.6108 |
| Avg Spin | 2444.9811 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 2.4429 |
| Season WHIP | 1.0714 |
| Role Avg IP | 1.4810 |
| Recent Avg IP | 1.4000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"opponent": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"edges": {
"quality_edge": 0.0898,
"offense_edge": 0.0555,
"opponent_offense_edge": 0.0051,
"defense_strength": 0.0134,
"opponent_defense_weakness": 0.067,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0038,
"run_prevention": 0.995,
"strikeout": 1.0023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 264.0,
"k_percent": 22.6,
"bb_percent": 8.7,
"woba": 0.261,
"xwoba": 0.305,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 37.2,
"avg_best_speed": 76.9752,
"avg_hyper_speed": 93.7435,
"whiff_percent": 23.6,
"swing_percent": 45.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4126,
"command_and_miss": -0.015,
"regression_edge": -1.2571,
"xwoba_edge": 0.1714,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.0857,
"whiff_edge": -0.2286,
"bb_edge": 0.1,
"pitch_design_score": -0.0144
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656794",
"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": 89.61075057207849,
"release_spin_rate": 2444.981106388793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.61075057207849,
"release_spin_rate": 2444.981106388793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6108,
"release_spin_rate": 2444.9811,
"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.0144,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1029,
"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.1003,
"sample_weight": 1.0,
"run_prevention_factor": 0.9915,
"strikeout_factor": 0.9949,
"walk_factor": 0.992,
"homer_factor": 0.9612,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656794",
"espn_id": 33856,
"player_name": "Sean Newcomb",
"team": "CHW",
"role": "pitcher",
"espn_rank": 41,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 41,
"gp_value": 51.0,
"gp_rank": 84,
"gs_value": 4.0,
"gs_rank": 230,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.3625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 4.0,
"sv_rank": 52,
"hld_value": 11.0,
"hld_rank": 70,
"ip_value": 80.0,
"ip_rank": 152,
"h_value": 58.0,
"h_rank": 192,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 28.0,
"bb_rank": 173,
"k_value": 73.0,
"k_rank": 161,
"k_per_9_value": 8.2125,
"k_per_9_rank": 28,
"whip_value": 1.075,
"whip_rank": null,
"war_value": 2.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9915,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9612,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9949,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 14.0,
"ER": 4,
"H": 9,
"BB": 7,
"SO": 9,
"HR": 1,
"ERA": 2.5714285714285716,
"WHIP": 1.1428571428571428,
"K9": 5.785714285714286,
"HR9": 0.6428571428571429,
"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-19T00:00:00"
}{
"available": true,
"pitcher_id": "656794",
"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": 89.61075057207849,
"release_spin_rate": 2444.981106388793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.61075057207849,
"release_spin_rate": 2444.981106388793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6108,
"release_spin_rate": 2444.9811,
"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.0144,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1029,
"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.07,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7378,
"prior_weight": 0.2622
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656794",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.0,
"ER": 0.0,
"R": 1.0,
"H": 1.0,
"BB": 5.0,
"SO": 6.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 131.0
},
"per_game": {
"IP": 1.2,
"ER": 0.0,
"R": 0.2,
"H": 0.2,
"BB": 1.0,
"SO": 1.2,
"HR": 0.0,
"BF": 5.8,
"Pitches": 26.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.125,
"BB_per_IP": 0.625,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.0,
"ER": 4.0,
"R": 6.0,
"H": 9.0,
"BB": 7.0,
"SO": 9.0,
"HR": 1.0,
"BF": 56.0,
"Pitches": 226.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.6,
"H": 0.9,
"BB": 0.7,
"SO": 0.9,
"HR": 0.1,
"BF": 5.6,
"Pitches": 22.6
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.1429,
"ER_per_IP": 0.28571,
"H_per_IP": 0.64286,
"BB_per_IP": 0.5,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.07143
}
},
"season": {
"games": 46,
"totals": {
"IP": 70.0,
"ER": 19.0,
"R": 22.0,
"H": 48.0,
"BB": 27.0,
"SO": 64.0,
"HR": 2.0,
"BF": 281.0,
"Pitches": 1089.0
},
"per_game": {
"IP": 1.2,
"ER": 0.413,
"R": 0.4783,
"H": 1.0435,
"BB": 0.587,
"SO": 1.3913,
"HR": 0.0435,
"BF": 6.1087,
"Pitches": 23.6739
},
"rates": {
"ERA": 2.4429,
"WHIP": 1.0714,
"ER_per_IP": 0.27143,
"H_per_IP": 0.68571,
"BB_per_IP": 0.38571,
"SO_per_IP": 0.91429,
"HR_per_IP": 0.02857
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.365,
"predicted_H": 0.842,
"predicted_BB": 0.733,
"predicted_SO": 1.189,
"predicted_HR": 0.091,
"predicted_ERA": 2.1987,
"predicted_WHIP": 1.0545
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4608,
"form_weight": 0.5392,
"form_reliability": 0.7378,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.07,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7378,
"prior_weight": 0.2622
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.365,
"final": 0.1968,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.842,
"final": 1.3756,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.733,
"final": 0.3952,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.189,
"final": 2.0235,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.091,
"final": 0.0491,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1987,
"final": 2.1987,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0545,
"final": 1.0545,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Hudson |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3989 |
| ESPN Rank | 99 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0573 |
| Avg Velo | 88.8442 |
| Avg Spin | 2163.0672 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8929 |
| Season WHIP | 1.2643 |
| Role Avg IP | 0.9440 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"opponent": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"edges": {
"quality_edge": 0.0898,
"offense_edge": 0.0555,
"opponent_offense_edge": 0.0051,
"defense_strength": 0.0134,
"opponent_defense_weakness": 0.067,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0038,
"run_prevention": 0.995,
"strikeout": 1.0023
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 189.0,
"k_percent": 22.5,
"bb_percent": 7.0,
"woba": 0.288,
"xwoba": 0.268,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 36.5,
"avg_best_speed": 77.1868,
"avg_hyper_speed": 93.2135,
"whiff_percent": 23.9,
"swing_percent": 47.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8118,
"command_and_miss": 0.0786,
"regression_edge": 0.5714,
"xwoba_edge": 1.2286,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.1857,
"whiff_edge": -0.1857,
"bb_edge": 0.525,
"pitch_design_score": -0.0573
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663542",
"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": 88.844151601149,
"release_spin_rate": 2163.0671858280543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.844151601149,
"release_spin_rate": 2163.0671858280543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8442,
"release_spin_rate": 2163.0672,
"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.0573,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4096,
"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.3989,
"sample_weight": 0.756,
"run_prevention_factor": 0.9661,
"strikeout_factor": 0.997,
"walk_factor": 0.9682,
"homer_factor": 0.9168,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663542",
"espn_id": 4991171,
"player_name": "Bryan Hudson",
"team": "CHW",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 99,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 7.0,
"gs_rank": 197,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.0857,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 7.0,
"sv_rank": 34,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 58.1,
"ip_rank": 227,
"h_value": 54.0,
"h_rank": 209,
"er_value": 20.0,
"er_rank": 308,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 17.0,
"bb_rank": 333,
"k_value": 55.0,
"k_rank": 242,
"k_per_9_value": 8.485714,
"k_per_9_rank": 28,
"whip_value": 1.2171,
"whip_rank": null,
"war_value": 1.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9744,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9744,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9371,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9977,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 6,
"H": 10,
"BB": 1,
"SO": 9,
"HR": 1,
"ERA": 6.230769230769231,
"WHIP": 1.2692307692307694,
"K9": 9.346153846153847,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-30T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"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": 88.844151601149,
"release_spin_rate": 2163.0671858280543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.844151601149,
"release_spin_rate": 2163.0671858280543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8442,
"release_spin_rate": 2163.0672,
"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.0573,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4096,
"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.38,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6523,
"prior_weight": 0.3477
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663542",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.2
},
"rates": {
"ERA": 10.3846,
"WHIP": 1.6154,
"ER_per_IP": 1.15385,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 1.0,
"SO": 9.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.1,
"SO": 0.9,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.2
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.2692,
"ER_per_IP": 0.69231,
"H_per_IP": 1.15385,
"BB_per_IP": 0.11538,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 48,
"totals": {
"IP": 46.2,
"ER": 15.0,
"R": 17.0,
"H": 42.0,
"BB": 17.0,
"SO": 44.0,
"HR": 2.0,
"BF": 198.0,
"Pitches": 766.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3125,
"R": 0.3542,
"H": 0.875,
"BB": 0.3542,
"SO": 0.9167,
"HR": 0.0417,
"BF": 4.125,
"Pitches": 15.9583
},
"rates": {
"ERA": 2.8929,
"WHIP": 1.2643,
"ER_per_IP": 0.32143,
"H_per_IP": 0.9,
"BB_per_IP": 0.36429,
"SO_per_IP": 0.94286,
"HR_per_IP": 0.04286
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.629,
"predicted_H": 0.995,
"predicted_BB": 0.239,
"predicted_SO": 0.847,
"predicted_HR": 0.133,
"predicted_ERA": 6.4053,
"predicted_WHIP": 1.396
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4969,
"form_weight": 0.5031,
"form_reliability": 0.6523,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.38,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6523,
"prior_weight": 0.3477
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.629,
"final": 0.8134,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.995,
"final": 0.9975,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.239,
"final": 0.1202,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.847,
"final": 0.923,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.133,
"final": 0.0669,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.4053,
"final": 6.4053,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.396,
"final": 1.396,
"source": "form_only"
}
}
}{
"available": false,
"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.135 | 1.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | 0.848 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.577 | 3.000 | 4.000 | Hitting_AB | 3.693 | 4.000 | -0.693 | -1.000 |
| predicted_AVG | 0.215 | 0.333 | 0.250 | Hitting_AVG | 0.230 | 0.250 | 0.104 | 0.083 |
| predicted_BB | 0.779 | 2.000 | 1.000 | Hitting_BB | 0.808 | 0.000 | 1.192 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.769 | 1.000 | 1.000 | Hitting_H | 0.848 | 1.000 | 0.152 | 0.000 |
| predicted_HR | 0.279 | 0.000 | 1.000 | Hitting_HR | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_OBP | 0.355 | 0.600 | 0.400 | Hitting_OBP | 0.371 | 0.250 | 0.229 | 0.350 |
| predicted_R | 0.692 | 1.000 | 1.000 | Hitting_R | 0.791 | 0.000 | 0.209 | 1.000 |
| predicted_RBI | 0.567 | 0.000 | 1.000 | Hitting_RBI | 0.661 | 0.000 | -0.661 | 0.000 |
| predicted_SLG | 0.487 | 0.667 | 1.000 | Hitting_SLG | 0.540 | 0.250 | 0.126 | 0.417 |
| predicted_SO | 1.481 | 1.000 | 2.000 | Hitting_SO | 1.474 | 1.000 | -0.474 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.7790 -> 2.0000 (boost 1.2210, better) |
| Biggest Deboost | predicted_AB: 3.5770 -> 3.0000 (deboost -0.5770, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 1 | 7 | 1 | 7 | predicted_BB: 0.7790 -> 0.8313 (boost 0.0523, better) | predicted_H: 0.7690 -> 0.6930 (deboost -0.0760, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4228 -> 0.4300 (boost 0.0072, better) | - | 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_SO: 1.4708 -> 2.0000 (boost 0.5292, worse) | predicted_HR: 0.2321 -> 0.0000 (deboost -0.2321, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.197 HR/AB=0.065 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6352 -> 1.0000 (boost 0.3648, 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 | 5 | 2 | 3 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.0,
"predicted_AB": 3.577,
"predicted_AVG": 0.215,
"predicted_BB": 0.779,
"predicted_H": 0.769,
"predicted_HR": 0.279,
"predicted_OBP": 0.355,
"predicted_R": 0.692,
"predicted_RBI": 0.567,
"predicted_SLG": 0.487,
"predicted_SO": 1.481
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1212,
"predicted_3B": 0.0004,
"predicted_AB": 3.5381,
"predicted_AVG": 0.1956,
"predicted_BB": 0.8313,
"predicted_H": 0.693,
"predicted_HBP": 0.012,
"predicted_HR": 0.228,
"predicted_OBP": 0.3496,
"predicted_R": 0.6203,
"predicted_RBI": 0.4944,
"predicted_SLG": 0.4228,
"predicted_SO": 1.478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1212,
"delta": -0.0138,
"percent_delta": -0.1022,
"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.577,
"after": 3.5381,
"delta": -0.0389,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1956,
"delta": -0.0194,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.779,
"after": 0.8313,
"delta": 0.0523,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.769,
"after": 0.693,
"delta": -0.076,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.279,
"after": 0.228,
"delta": -0.051,
"percent_delta": -0.1828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3496,
"delta": -0.0054,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 0.6203,
"delta": -0.0717,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.567,
"after": 0.4944,
"delta": -0.0726,
"percent_delta": -0.128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4228,
"delta": -0.0642,
"percent_delta": -0.1318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.481,
"after": 1.478,
"delta": -0.003,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.779,
"after": 0.8313,
"delta": 0.0523,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.769,
"after": 0.693,
"delta": -0.076,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1212,
"predicted_3B": 0.0004,
"predicted_AB": 3.5381,
"predicted_AVG": 0.1987,
"predicted_BB": 0.8354,
"predicted_H": 0.703,
"predicted_HBP": 0.012,
"predicted_HR": 0.2321,
"predicted_OBP": 0.3518,
"predicted_R": 0.6352,
"predicted_RBI": 0.5063,
"predicted_SLG": 0.43,
"predicted_SO": 1.4708
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1212,
"after": 0.1212,
"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.5381,
"after": 3.5381,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1956,
"after": 0.1987,
"delta": 0.0031,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8313,
"after": 0.8354,
"delta": 0.0041,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.693,
"after": 0.703,
"delta": 0.01,
"percent_delta": 0.0144,
"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.228,
"after": 0.2321,
"delta": 0.0041,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3496,
"after": 0.3518,
"delta": 0.0022,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6203,
"after": 0.6352,
"delta": 0.0149,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4944,
"after": 0.5063,
"delta": 0.0119,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4228,
"after": 0.43,
"delta": 0.0072,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.478,
"after": 1.4708,
"delta": -0.0072,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4228,
"after": 0.43,
"delta": 0.0072,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.197 HR/AB=0.065",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1212,
"after": 0.0,
"delta": -0.1212,
"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.5381,
"after": 4.0,
"delta": 0.4619,
"percent_delta": 0.1306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8354,
"after": 1.0,
"delta": 0.1646,
"percent_delta": 0.197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.703,
"after": 1.0,
"delta": 0.297,
"percent_delta": 0.4225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2321,
"after": 0.0,
"delta": -0.2321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5063,
"after": 1.0,
"delta": 0.4937,
"percent_delta": 0.9751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4708,
"after": 2.0,
"delta": 0.5292,
"percent_delta": 0.3598,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4708,
"after": 2.0,
"delta": 0.5292,
"percent_delta": 0.3598,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2321,
"after": 0.0,
"delta": -0.2321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6352,
"after": 1.0,
"delta": 0.3648,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6352,
"after": 1.0,
"delta": 0.3648,
"percent_delta": 0.5743,
"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": 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_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": 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_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.197,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.353,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.433,
"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.1987,
"after": 0.197,
"delta": -0.0017,
"percent_delta": -0.0086,
"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.3518,
"after": 0.353,
"delta": 0.0012,
"percent_delta": 0.0034,
"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.43,
"after": 0.433,
"delta": 0.003,
"percent_delta": 0.007,
"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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1987,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3518,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.43,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.1987,
"delta": 0.0017,
"percent_delta": 0.0087,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3518,
"delta": -0.0012,
"percent_delta": -0.0035,
"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.433,
"after": 0.43,
"delta": -0.003,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.135,
"after": 1.0,
"delta": 0.865,
"percent_delta": 6.4074,
"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.577,
"after": 3.0,
"delta": -0.577,
"percent_delta": -0.1613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1987,
"delta": -0.0163,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.779,
"after": 2.0,
"delta": 1.221,
"percent_delta": 1.5674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.769,
"after": 1.0,
"delta": 0.231,
"percent_delta": 0.3004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3518,
"delta": -0.0032,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.567,
"after": 0.0,
"delta": -0.567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.43,
"delta": -0.057,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.481,
"after": 1.0,
"delta": -0.481,
"percent_delta": -0.3248,
"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.779,
"after": 2.0,
"delta": 1.221,
"percent_delta": 1.5674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.577,
"after": 3.0,
"delta": -0.577,
"percent_delta": -0.1613,
"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.135 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.577 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.779 | - |
| predicted_H | 0.769 | - |
| predicted_HR | 0.279 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.692 | - |
| predicted_RBI | 0.567 | - |
| predicted_SLG | 0.487 | - |
| predicted_SO | 1.481 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | -0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.538 | -0.039 |
| predicted_AVG | 0.196 | -0.019 |
| predicted_BB | 0.831 | 0.052 |
| predicted_H | 0.693 | -0.076 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.228 | -0.051 |
| predicted_OBP | 0.350 | -0.005 |
| predicted_R | 0.620 | -0.072 |
| predicted_RBI | 0.494 | -0.073 |
| predicted_SLG | 0.423 | -0.064 |
| predicted_SO | 1.478 | -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.121 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.538 | 0.000 |
| predicted_AVG | 0.199 | 0.003 |
| predicted_BB | 0.835 | 0.004 |
| predicted_H | 0.703 | 0.010 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.232 | 0.004 |
| predicted_OBP | 0.352 | 0.002 |
| predicted_R | 0.635 | 0.015 |
| predicted_RBI | 0.506 | 0.012 |
| predicted_SLG | 0.430 | 0.007 |
| predicted_SO | 1.471 | -0.007 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.197 HR/AB=0.065
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
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 | 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.121 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.462 |
| predicted_AVG | 0.197 | -0.002 |
| predicted_BB | 1.000 | 0.165 |
| predicted_H | 1.000 | 0.297 |
| predicted_HR | 0.000 | -0.232 |
| predicted_OBP | 0.353 | 0.001 |
| predicted_R | 1.000 | 0.365 |
| predicted_RBI | 1.000 | 0.494 |
| predicted_SLG | 0.433 | 0.003 |
| predicted_SO | 2.000 | 0.529 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 2.000 | 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 | 1.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 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 7.000 | 0.0625 | 0.3182 | 0.0625 | 0.0625 | 0.0000 | 0.0625 | 0.3750 | 0.4375 |
| last_10 | 0.20 | 10 | - | 34.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 11.000 | 17.000 | 0.1176 | 0.3333 | 0.1471 | 0.1177 | 0.0000 | 0.0294 | 0.3235 | 0.5000 |
| season | 0.60 | 104 | - | 372.000 | 80.000 | 14.000 | 0.000 | 29.000 | 59.000 | 72.000 | 81.000 | 154.000 | 0.2151 | 0.3575 | 0.4866 | 0.2150 | 0.0780 | 0.1586 | 0.2177 | 0.4140 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4870 |
| predicted_AVG | 0.1702 |
| predicted_BB | 0.9000 |
| predicted_H | 0.5930 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.3424 |
| predicted_R | 0.5260 |
| predicted_RBI | 0.3990 |
| predicted_SLG | 0.3384 |
| predicted_SO | 1.4740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.1030 | 0.1212 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5770 | 3.4870 | 3.5381 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1702 | 0.1956 | model_form_blend |
| predicted_BB | 0.7790 | 0.9000 | 0.8313 | model_form_blend |
| predicted_H | 0.7690 | 0.5930 | 0.6930 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.2790 | 0.1610 | 0.2280 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3424 | 0.3496 | model_form_blend |
| predicted_R | 0.6920 | 0.5260 | 0.6203 | model_form_blend |
| predicted_RBI | 0.5670 | 0.3990 | 0.4944 | model_form_blend |
| predicted_SLG | 0.4870 | 0.3384 | 0.4228 | model_form_blend |
| predicted_SO | 1.4810 | 1.4740 | 1.4780 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 407 |
| Season rows before report date | 407 |
| 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 | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 33.8 |
| sl_bb_percent | 17.8 |
| sl_woba | 0.364 |
| sl_xwoba | 0.358 |
| sl_xba | 0.211 |
| sl_xslg | 0.478 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 19.6 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 42.1 |
| sl_swing_percent | 40.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 1.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | 0.822 | 1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.458 | 5.000 | 3.000 | Hitting_AB | 3.647 | 3.000 | 1.353 | 2.000 |
| predicted_AVG | 0.265 | 0.200 | 0.333 | Hitting_AVG | 0.271 | 0.000 | -0.071 | 0.200 |
| predicted_BB | 0.339 | 0.000 | 0.000 | Hitting_BB | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_H | 0.915 | 1.000 | 1.000 | Hitting_H | 0.989 | 0.000 | 0.011 | 1.000 |
| predicted_HR | 0.068 | 0.000 | 0.000 | Hitting_HR | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_OBP | 0.330 | 0.200 | 0.333 | Hitting_OBP | 0.374 | 0.250 | -0.174 | -0.050 |
| predicted_R | 0.593 | 0.000 | 1.000 | Hitting_R | 0.663 | 0.000 | -0.663 | 0.000 |
| predicted_RBI | 0.339 | 0.000 | 0.000 | Hitting_RBI | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_SLG | 0.387 | 0.400 | 0.333 | Hitting_SLG | 0.398 | 0.000 | 0.002 | 0.400 |
| predicted_SO | 0.636 | 0.000 | 1.000 | Hitting_SO | 0.663 | 0.000 | -0.663 | 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_AB: 3.4580 -> 5.0000 (boost 1.5420, better) |
| Biggest Deboost | predicted_SO: 0.6360 -> 0.0000 (deboost -0.6360, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.3390 -> 0.3991 (boost 0.0601, better) | predicted_SLG: 0.3870 -> 0.3737 (deboost -0.0133, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3462 -> 0.3366 (deboost -0.0096, 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.6320 -> 1.0000 (boost 0.3680, worse) | predicted_AB: 3.4411 -> 3.0000 (deboost -0.4411, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.258 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6069 -> 1.0000 (boost 0.3931, 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 | 2 | 2 | 3 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_R: 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": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.025,
"predicted_AB": 3.458,
"predicted_AVG": 0.265,
"predicted_BB": 0.339,
"predicted_H": 0.915,
"predicted_HR": 0.068,
"predicted_OBP": 0.33,
"predicted_R": 0.593,
"predicted_RBI": 0.339,
"predicted_SLG": 0.387,
"predicted_SO": 0.636
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1746,
"predicted_3B": 0.0289,
"predicted_AB": 3.4411,
"predicted_AVG": 0.2558,
"predicted_BB": 0.3991,
"predicted_H": 0.8795,
"predicted_HBP": 0.198,
"predicted_HR": 0.0581,
"predicted_OBP": 0.3462,
"predicted_R": 0.5926,
"predicted_RBI": 0.31,
"predicted_SLG": 0.3737,
"predicted_SO": 0.6351
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1746,
"delta": 0.0056,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0289,
"delta": 0.0039,
"percent_delta": 0.156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.458,
"after": 3.4411,
"delta": -0.0169,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2558,
"delta": -0.0092,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.3991,
"delta": 0.0601,
"percent_delta": 0.1773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.915,
"after": 0.8795,
"delta": -0.0355,
"percent_delta": -0.0388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.068,
"after": 0.0581,
"delta": -0.0099,
"percent_delta": -0.1456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3462,
"delta": 0.0162,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.593,
"after": 0.5926,
"delta": -0.0004,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.339,
"after": 0.31,
"delta": -0.029,
"percent_delta": -0.0855,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3737,
"delta": -0.0133,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 0.6351,
"delta": -0.0009,
"percent_delta": -0.0014,
"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.339,
"after": 0.3991,
"delta": 0.0601,
"percent_delta": 0.1773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3737,
"delta": -0.0133,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1746,
"predicted_3B": 0.0289,
"predicted_AB": 3.4411,
"predicted_AVG": 0.2593,
"predicted_BB": 0.4011,
"predicted_H": 0.8923,
"predicted_HBP": 0.198,
"predicted_HR": 0.0591,
"predicted_OBP": 0.3366,
"predicted_R": 0.6069,
"predicted_RBI": 0.3175,
"predicted_SLG": 0.3784,
"predicted_SO": 0.632
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1746,
"after": 0.1746,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4411,
"after": 3.4411,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2558,
"after": 0.2593,
"delta": 0.0035,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3991,
"after": 0.4011,
"delta": 0.002,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8795,
"after": 0.8923,
"delta": 0.0128,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.198,
"after": 0.198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0581,
"after": 0.0591,
"delta": 0.001,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3462,
"after": 0.3366,
"delta": -0.0096,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5926,
"after": 0.6069,
"delta": 0.0143,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3175,
"delta": 0.0075,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3737,
"after": 0.3784,
"delta": 0.0047,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6351,
"after": 0.632,
"delta": -0.0031,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3462,
"after": 0.3366,
"delta": -0.0096,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.258 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.1746,
"after": 0.0,
"delta": -0.1746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0,
"delta": -0.0289,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4411,
"after": 3.0,
"delta": -0.4411,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4011,
"after": 0.0,
"delta": -0.4011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8923,
"after": 1.0,
"delta": 0.1077,
"percent_delta": 0.1207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0591,
"after": 0.0,
"delta": -0.0591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3175,
"after": 0.0,
"delta": -0.3175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"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.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4411,
"after": 3.0,
"delta": -0.4411,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6069,
"after": 1.0,
"delta": 0.3931,
"percent_delta": 0.6477,
"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.6069,
"after": 1.0,
"delta": 0.3931,
"percent_delta": 0.6477,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 3.0,
"predicted_AVG": 0.258,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.34,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2593,
"after": 0.258,
"delta": -0.0013,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3366,
"after": 0.34,
"delta": 0.0034,
"percent_delta": 0.0101,
"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.3784,
"after": 0.377,
"delta": -0.0014,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2593,
"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.3366,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3784,
"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": 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.258,
"after": 0.2593,
"delta": 0.0013,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3366,
"delta": -0.0034,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3784,
"delta": 0.0014,
"percent_delta": 0.0037,
"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.169,
"after": 1.0,
"delta": 0.831,
"percent_delta": 4.9172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.458,
"after": 5.0,
"delta": 1.542,
"percent_delta": 0.4459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2593,
"delta": -0.0057,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.915,
"after": 1.0,
"delta": 0.085,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_OBP",
"before": 0.33,
"after": 0.3366,
"delta": 0.0066,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.593,
"after": 0.0,
"delta": -0.593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3784,
"delta": -0.0086,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.458,
"after": 5.0,
"delta": 1.542,
"percent_delta": 0.4459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.458 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.339 | - |
| predicted_H | 0.915 | - |
| predicted_HR | 0.068 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.593 | - |
| predicted_RBI | 0.339 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.636 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.006 |
| predicted_3B | 0.029 | 0.004 |
| predicted_AB | 3.441 | -0.017 |
| predicted_AVG | 0.256 | -0.009 |
| predicted_BB | 0.399 | 0.060 |
| predicted_H | 0.879 | -0.036 |
| predicted_HBP | 0.198 | - |
| predicted_HR | 0.058 | -0.010 |
| predicted_OBP | 0.346 | 0.016 |
| predicted_R | 0.593 | -0.000 |
| predicted_RBI | 0.310 | -0.029 |
| predicted_SLG | 0.374 | -0.013 |
| predicted_SO | 0.635 | -0.001 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 3.441 | 0.000 |
| predicted_AVG | 0.259 | 0.003 |
| predicted_BB | 0.401 | 0.002 |
| predicted_H | 0.892 | 0.013 |
| predicted_HBP | 0.198 | 0.000 |
| predicted_HR | 0.059 | 0.001 |
| predicted_OBP | 0.337 | -0.010 |
| predicted_R | 0.607 | 0.014 |
| predicted_RBI | 0.318 | 0.008 |
| predicted_SLG | 0.378 | 0.005 |
| predicted_SO | 0.632 | -0.003 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.258 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 | 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 | 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 | 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.175 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 3.000 | -0.441 |
| predicted_AVG | 0.258 | -0.001 |
| predicted_BB | 0.000 | -0.401 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.340 | 0.003 |
| predicted_R | 1.000 | 0.393 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.377 | -0.001 |
| predicted_SO | 1.000 | 0.368 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 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 | 3.000 | 4.000 | 3.000 | 0.1875 | 0.3810 | 0.2500 | 0.1875 | 0.0000 | 0.0000 | 0.2500 | 0.1875 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 2.000 | 1.000 | 0.000 | 3.000 | 6.000 | 6.000 | 6.000 | 0.2353 | 0.3810 | 0.3529 | 0.2353 | 0.0000 | 0.0882 | 0.1765 | 0.1765 |
| season | 0.60 | 118 | - | 408.000 | 108.000 | 20.000 | 3.000 | 8.000 | 40.000 | 70.000 | 40.000 | 75.000 | 0.2647 | 0.3650 | 0.3873 | 0.2647 | 0.0196 | 0.0980 | 0.0980 | 0.1838 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0340 |
| predicted_AB | 3.4190 |
| predicted_AVG | 0.2437 |
| predicted_BB | 0.4780 |
| predicted_H | 0.8330 |
| predicted_HBP | 0.1980 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.3675 |
| predicted_R | 0.5920 |
| predicted_RBI | 0.2720 |
| predicted_SLG | 0.3562 |
| predicted_SO | 0.6340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1820 | 0.1746 | model_form_blend |
| predicted_3B | 0.0250 | 0.0340 | 0.0289 | model_form_blend |
| predicted_AB | 3.4580 | 3.4190 | 3.4411 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2437 | 0.2558 | model_form_blend |
| predicted_BB | 0.3390 | 0.4780 | 0.3991 | model_form_blend |
| predicted_H | 0.9150 | 0.8330 | 0.8795 | model_form_blend |
| predicted_HBP | - | 0.1980 | 0.1980 | form_only |
| predicted_HR | 0.0680 | 0.0450 | 0.0581 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3675 | 0.3462 | model_form_blend |
| predicted_R | 0.5930 | 0.5920 | 0.5926 | model_form_blend |
| predicted_RBI | 0.3390 | 0.2720 | 0.3100 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3562 | 0.3737 | model_form_blend |
| predicted_SO | 0.6360 | 0.6340 | 0.6351 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 803011 |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.34 |
| sl_xwoba | 0.344 |
| sl_xba | 0.273 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 15.4 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.171 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 3.657 | 5.000 | 4.000 | Hitting_AB | 3.708 | 2.000 | 1.292 | 3.000 |
| predicted_AVG | 0.223 | 0.000 | 0.250 | Hitting_AVG | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_BB | 0.443 | 0.000 | 1.000 | Hitting_BB | 0.475 | 1.000 | -0.475 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.814 | 0.000 | 1.000 | Hitting_H | 0.872 | 0.000 | -0.872 | 0.000 |
| predicted_HR | 0.071 | 0.000 | 0.000 | Hitting_HR | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.400 | Hitting_OBP | 0.327 | 0.333 | -0.327 | -0.333 |
| predicted_R | 0.529 | 0.000 | 1.000 | Hitting_R | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_SLG | 0.352 | 0.000 | 0.250 | Hitting_SLG | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SO | 0.829 | 3.000 | 1.000 | Hitting_SO | 0.899 | 0.000 | 2.101 | 3.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.8290 -> 3.0000 (boost 2.1710, worse) |
| 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 | 0 | 4 | 1 | 3 | - | predicted_SO: 0.8290 -> 0.7284 (deboost -0.1006, 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 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4883 -> 1.0000 (boost 0.5117, better) | predicted_BB: 0.4392 -> 0.0000 (deboost -0.4392, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.212 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5279 -> 1.0000 (boost 0.4721, 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2960 -> 0.3010 (boost 0.0050, better) | 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 | 5 | 2 | 3 | 1 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "695731",
"player_name": "Braden Montgomery",
"position": "RF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.043,
"predicted_AB": 3.657,
"predicted_AVG": 0.223,
"predicted_BB": 0.443,
"predicted_H": 0.814,
"predicted_HR": 0.071,
"predicted_OBP": 0.307,
"predicted_R": 0.529,
"predicted_RBI": 0.5,
"predicted_SLG": 0.352,
"predicted_SO": 0.829
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1532,
"predicted_3B": 0.0354,
"predicted_AB": 3.6925,
"predicted_AVG": 0.2096,
"predicted_BB": 0.4371,
"predicted_H": 0.7726,
"predicted_HBP": 0.027,
"predicted_HR": 0.0702,
"predicted_OBP": 0.295,
"predicted_R": 0.5155,
"predicted_RBI": 0.4768,
"predicted_SLG": 0.3279,
"predicted_SO": 0.7284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1532,
"delta": -0.0178,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0354,
"delta": -0.0076,
"percent_delta": -0.1767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.657,
"after": 3.6925,
"delta": 0.0355,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2096,
"delta": -0.0134,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.4371,
"delta": -0.0059,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.814,
"after": 0.7726,
"delta": -0.0414,
"percent_delta": -0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.071,
"after": 0.0702,
"delta": -0.0008,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.295,
"delta": -0.012,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.5155,
"delta": -0.0135,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4768,
"delta": -0.0232,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3279,
"delta": -0.0241,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.7284,
"delta": -0.1006,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.829,
"after": 0.7284,
"delta": -0.1006,
"percent_delta": -0.1214,
"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": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1532,
"predicted_3B": 0.0354,
"predicted_AB": 3.6925,
"predicted_AVG": 0.2123,
"predicted_BB": 0.4392,
"predicted_H": 0.7838,
"predicted_HBP": 0.027,
"predicted_HR": 0.0715,
"predicted_OBP": 0.296,
"predicted_R": 0.5279,
"predicted_RBI": 0.4883,
"predicted_SLG": 0.331,
"predicted_SO": 0.7248
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1532,
"after": 0.1532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0354,
"after": 0.0354,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6925,
"after": 3.6925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2096,
"after": 0.2123,
"delta": 0.0027,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4371,
"after": 0.4392,
"delta": 0.0021,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7726,
"after": 0.7838,
"delta": 0.0112,
"percent_delta": 0.0145,
"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.0702,
"after": 0.0715,
"delta": 0.0013,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.296,
"delta": 0.001,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5155,
"after": 0.5279,
"delta": 0.0124,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4768,
"after": 0.4883,
"delta": 0.0115,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3279,
"after": 0.331,
"delta": 0.0031,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7284,
"after": 0.7248,
"delta": -0.0036,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.212 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.1532,
"after": 0.0,
"delta": -0.1532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0354,
"after": 0.0,
"delta": -0.0354,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6925,
"after": 4.0,
"delta": 0.3075,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4392,
"after": 0.0,
"delta": -0.4392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7838,
"after": 1.0,
"delta": 0.2162,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0715,
"after": 0.0,
"delta": -0.0715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4883,
"after": 1.0,
"delta": 0.5117,
"percent_delta": 1.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7248,
"after": 1.0,
"delta": 0.2752,
"percent_delta": 0.3797,
"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.4883,
"after": 1.0,
"delta": 0.5117,
"percent_delta": 1.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4392,
"after": 0.0,
"delta": -0.4392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5279,
"after": 1.0,
"delta": 0.4721,
"percent_delta": 0.8943,
"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.5279,
"after": 1.0,
"delta": 0.4721,
"percent_delta": 0.8943,
"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": 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": 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.212,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.331,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2123,
"after": 0.212,
"delta": -0.0003,
"percent_delta": -0.0014,
"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.296,
"after": 0.301,
"delta": 0.005,
"percent_delta": 0.0169,
"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.331,
"after": 0.331,
"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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.301,
"delta": 0.005,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 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_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.2123,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.296,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.331,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2123,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.296,
"delta": -0.005,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.331,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.657,
"after": 5.0,
"delta": 1.343,
"percent_delta": 0.3672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2123,
"delta": -0.0107,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.0,
"delta": -0.443,
"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.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.296,
"delta": -0.011,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.331,
"delta": -0.021,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 3.0,
"delta": 2.171,
"percent_delta": 2.6188,
"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.829,
"after": 3.0,
"delta": 2.171,
"percent_delta": 2.6188,
"direction": "boost",
"projection_effect": "worse",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.657 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 0.814 | - |
| predicted_HR | 0.071 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 0.829 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | -0.018 |
| predicted_3B | 0.035 | -0.008 |
| predicted_AB | 3.692 | 0.035 |
| predicted_AVG | 0.210 | -0.013 |
| predicted_BB | 0.437 | -0.006 |
| predicted_H | 0.773 | -0.041 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.070 | -0.001 |
| predicted_OBP | 0.295 | -0.012 |
| predicted_R | 0.515 | -0.014 |
| predicted_RBI | 0.477 | -0.023 |
| predicted_SLG | 0.328 | -0.024 |
| predicted_SO | 0.728 | -0.101 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.692 | 0.000 |
| predicted_AVG | 0.212 | 0.003 |
| predicted_BB | 0.439 | 0.002 |
| predicted_H | 0.784 | 0.011 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.071 | 0.001 |
| predicted_OBP | 0.296 | 0.001 |
| predicted_R | 0.528 | 0.012 |
| predicted_RBI | 0.488 | 0.012 |
| predicted_SLG | 0.331 | 0.003 |
| predicted_SO | 0.725 | -0.004 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.212 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 | 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 | 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.153 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 4.000 | 0.308 |
| predicted_AVG | 0.212 | -0.000 |
| predicted_BB | 0.000 | -0.439 |
| predicted_H | 1.000 | 0.216 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.301 | 0.005 |
| predicted_R | 1.000 | 0.472 |
| predicted_RBI | 1.000 | 0.512 |
| predicted_SLG | 0.331 | 0.000 |
| predicted_SO | 1.000 | 0.275 |
Attached 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 | -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 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.000 | 0.1053 | 0.1905 | 0.1053 | 0.1053 | 0.0000 | 0.0526 | 0.1053 | 0.0000 |
| last_10 | 0.20 | 10 | - | 39.000 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 5.000 | 3.000 | 0.1538 | 0.2500 | 0.2564 | 0.1538 | 0.0256 | 0.1282 | 0.1282 | 0.0769 |
| season | 0.60 | 70 | - | 256.000 | 57.000 | 12.000 | 3.000 | 5.000 | 35.000 | 37.000 | 31.000 | 58.000 | 0.2227 | 0.3127 | 0.3516 | 0.2227 | 0.0195 | 0.1367 | 0.1211 | 0.2266 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.7410 |
| predicted_AVG | 0.1913 |
| predicted_BB | 0.4290 |
| predicted_H | 0.7160 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.2785 |
| predicted_R | 0.4970 |
| predicted_RBI | 0.4450 |
| predicted_SLG | 0.2949 |
| predicted_SO | 0.5910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1290 | 0.1532 | model_form_blend |
| predicted_3B | 0.0430 | 0.0250 | 0.0354 | model_form_blend |
| predicted_AB | 3.6570 | 3.7410 | 3.6925 | model_form_blend |
| predicted_AVG | 0.2230 | 0.1913 | 0.2096 | model_form_blend |
| predicted_BB | 0.4430 | 0.4290 | 0.4371 | model_form_blend |
| predicted_H | 0.8140 | 0.7160 | 0.7726 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0710 | 0.0690 | 0.0702 | model_form_blend |
| predicted_OBP | 0.3070 | 0.2785 | 0.2950 | model_form_blend |
| predicted_R | 0.5290 | 0.4970 | 0.5155 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4450 | 0.4768 | model_form_blend |
| predicted_SLG | 0.3520 | 0.2949 | 0.3279 | model_form_blend |
| predicted_SO | 0.8290 | 0.5910 | 0.7284 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 257 |
| Season rows before report date | 257 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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 | 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 695731 |
| playerID | 695731 |
| playerName | Braden Montgomery |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.299 |
| sl_xwoba | 0.326 |
| sl_xba | 0.255 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 4.8 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.400 | 4.000 | 3.000 | Hitting_AB | 3.483 | 3.000 | 0.517 | 1.000 |
| predicted_AVG | 0.236 | 0.500 | 0.333 | Hitting_AVG | 0.260 | 0.000 | 0.240 | 0.500 |
| predicted_BB | 0.270 | 1.000 | 0.000 | Hitting_BB | 0.338 | 0.000 | 0.662 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 2.000 | 1.000 | Hitting_H | 0.906 | 0.000 | 1.094 | 2.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | 0.862 | 1.000 |
| predicted_OBP | 0.288 | 0.600 | 0.333 | Hitting_OBP | 0.323 | 0.000 | 0.277 | 0.600 |
| predicted_R | 0.426 | 1.000 | 0.000 | Hitting_R | 0.530 | 0.000 | 0.470 | 1.000 |
| predicted_RBI | 0.570 | 2.000 | 1.000 | Hitting_RBI | 0.642 | 0.000 | 1.358 | 2.000 |
| predicted_SLG | 0.432 | 1.250 | 0.333 | Hitting_SLG | 0.451 | 0.000 | 0.799 | 1.250 |
| predicted_SO | 0.795 | 0.000 | 1.000 | Hitting_SO | 0.868 | 0.000 | -0.868 | 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_RBI: 0.5700 -> 2.0000 (boost 1.4300, better) |
| Biggest Deboost | predicted_SO: 0.7950 -> 0.0000 (deboost -0.7950, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4320 -> 0.4261 (deboost -0.0059, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2835 -> 0.2903 (boost 0.0068, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5969 -> 1.0000 (boost 0.4031, better) | predicted_AB: 3.3914 -> 3.0000 (deboost -0.3914, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.041 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4508 -> 0.0000 (deboost -0.4508, 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 | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2903 -> 0.3100 (boost 0.0197, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 7 | 6 | 1 | 7 | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3100 -> 0.2903 (deboost -0.0197, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.016,
"predicted_AB": 3.4,
"predicted_AVG": 0.236,
"predicted_BB": 0.27,
"predicted_H": 0.8,
"predicted_HR": 0.14,
"predicted_OBP": 0.288,
"predicted_R": 0.426,
"predicted_RBI": 0.57,
"predicted_SLG": 0.432,
"predicted_SO": 0.795
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1845,
"predicted_3B": 0.0138,
"predicted_AB": 3.3914,
"predicted_AVG": 0.237,
"predicted_BB": 0.2394,
"predicted_H": 0.8022,
"predicted_HBP": 0.007,
"predicted_HR": 0.1353,
"predicted_OBP": 0.2835,
"predicted_R": 0.4402,
"predicted_RBI": 0.5829,
"predicted_SLG": 0.4261,
"predicted_SO": 0.7933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1845,
"delta": 0.0125,
"percent_delta": 0.0727,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0138,
"delta": -0.0022,
"percent_delta": -0.1375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4,
"after": 3.3914,
"delta": -0.0086,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.237,
"delta": 0.001,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.2394,
"delta": -0.0306,
"percent_delta": -0.1133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8022,
"delta": 0.0022,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1353,
"delta": -0.0047,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2835,
"delta": -0.0045,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.4402,
"delta": 0.0142,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5829,
"delta": 0.0129,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4261,
"delta": -0.0059,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.7933,
"delta": -0.0017,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4261,
"delta": -0.0059,
"percent_delta": -0.0137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1845,
"predicted_3B": 0.0138,
"predicted_AB": 3.3914,
"predicted_AVG": 0.24,
"predicted_BB": 0.2406,
"predicted_H": 0.8138,
"predicted_HBP": 0.007,
"predicted_HR": 0.1377,
"predicted_OBP": 0.2903,
"predicted_R": 0.4508,
"predicted_RBI": 0.5969,
"predicted_SLG": 0.4243,
"predicted_SO": 0.7894
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1845,
"after": 0.1845,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0138,
"after": 0.0138,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3914,
"after": 3.3914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.24,
"delta": 0.003,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2394,
"after": 0.2406,
"delta": 0.0012,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8022,
"after": 0.8138,
"delta": 0.0116,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1353,
"after": 0.1377,
"delta": 0.0024,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.2903,
"delta": 0.0068,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4402,
"after": 0.4508,
"delta": 0.0106,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5829,
"after": 0.5969,
"delta": 0.014,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4261,
"after": 0.4243,
"delta": -0.0018,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7933,
"after": 0.7894,
"delta": -0.0039,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.2903,
"delta": 0.0068,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1845,
"after": 0.0,
"delta": -0.1845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0138,
"after": 0.0,
"delta": -0.0138,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3914,
"after": 3.0,
"delta": -0.3914,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2406,
"after": 0.0,
"delta": -0.2406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8138,
"after": 1.0,
"delta": 0.1862,
"percent_delta": 0.2288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1377,
"after": 0.0,
"delta": -0.1377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5969,
"after": 1.0,
"delta": 0.4031,
"percent_delta": 0.6753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7894,
"after": 1.0,
"delta": 0.2106,
"percent_delta": 0.2668,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5969,
"after": 1.0,
"delta": 0.4031,
"percent_delta": 0.6753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3914,
"after": 3.0,
"delta": -0.3914,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.4508,
"after": 0.0,
"delta": -0.4508,
"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.4508,
"after": 0.0,
"delta": -0.4508,
"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": 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": 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": 3.0,
"predicted_AVG": 0.241,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.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": 3.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.241,
"delta": 0.001,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2903,
"after": 0.31,
"delta": 0.0197,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4243,
"after": 0.439,
"delta": 0.0147,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.2903,
"after": 0.31,
"delta": 0.0197,
"percent_delta": 0.0679,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"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.24,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2903,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4243,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.24,
"delta": -0.001,
"percent_delta": -0.0043,
"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": 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.31,
"after": 0.2903,
"delta": -0.0197,
"percent_delta": -0.0635,
"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.439,
"after": 0.4243,
"delta": -0.0147,
"percent_delta": -0.0334,
"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.31,
"after": 0.2903,
"delta": -0.0197,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4,
"after": 4.0,
"delta": 0.6,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.24,
"delta": 0.004,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2903,
"delta": 0.0023,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4243,
"delta": -0.0077,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.400 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.795 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | 0.013 |
| predicted_3B | 0.014 | -0.002 |
| predicted_AB | 3.391 | -0.009 |
| predicted_AVG | 0.237 | 0.001 |
| predicted_BB | 0.239 | -0.031 |
| predicted_H | 0.802 | 0.002 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.283 | -0.005 |
| predicted_R | 0.440 | 0.014 |
| predicted_RBI | 0.583 | 0.013 |
| predicted_SLG | 0.426 | -0.006 |
| predicted_SO | 0.793 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.391 | 0.000 |
| predicted_AVG | 0.240 | 0.003 |
| predicted_BB | 0.241 | 0.001 |
| predicted_H | 0.814 | 0.012 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.138 | 0.002 |
| predicted_OBP | 0.290 | 0.007 |
| predicted_R | 0.451 | 0.011 |
| predicted_RBI | 0.597 | 0.014 |
| predicted_SLG | 0.424 | -0.002 |
| predicted_SO | 0.789 | -0.004 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.014 |
| predicted_AB | 3.000 | -0.391 |
| predicted_AVG | 0.241 | 0.001 |
| predicted_BB | 0.000 | -0.241 |
| predicted_H | 1.000 | 0.186 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.310 | 0.020 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 1.000 | 0.403 |
| predicted_SLG | 0.439 | 0.015 |
| predicted_SO | 1.000 | 0.211 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 4.000 | 0.2105 | 0.2105 | 0.4211 | 0.2105 | 0.0526 | 0.1579 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 3.000 | 0.000 | 1.000 | 7.000 | 4.000 | 1.000 | 7.000 | 0.2432 | 0.2564 | 0.4054 | 0.2432 | 0.0270 | 0.1892 | 0.0270 | 0.1892 |
| season | 0.60 | 122 | - | 376.000 | 92.000 | 21.000 | 2.000 | 14.000 | 70.000 | 52.000 | 33.000 | 97.000 | 0.2447 | 0.3036 | 0.4229 | 0.2447 | 0.0372 | 0.1862 | 0.0878 | 0.2580 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.3800 |
| predicted_AVG | 0.2383 |
| predicted_BB | 0.1990 |
| predicted_H | 0.8050 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.2776 |
| predicted_R | 0.4590 |
| predicted_RBI | 0.6000 |
| predicted_SLG | 0.4183 |
| predicted_SO | 0.7910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.2010 | 0.1845 | model_form_blend |
| predicted_3B | 0.0160 | 0.0110 | 0.0138 | model_form_blend |
| predicted_AB | 3.4000 | 3.3800 | 3.3914 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2383 | 0.2370 | model_form_blend |
| predicted_BB | 0.2700 | 0.1990 | 0.2394 | model_form_blend |
| predicted_H | 0.8000 | 0.8050 | 0.8022 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1400 | 0.1290 | 0.1353 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2776 | 0.2835 | model_form_blend |
| predicted_R | 0.4260 | 0.4590 | 0.4402 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6000 | 0.5829 | model_form_blend |
| predicted_SLG | 0.4320 | 0.4183 | 0.4261 | model_form_blend |
| predicted_SO | 0.7950 | 0.7910 | 0.7933 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 122 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 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 | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 643217 |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.315 |
| sl_xwoba | 0.309 |
| sl_xba | 0.244 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 52.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.213 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.028 | 1.000 | -0.028 | -1.000 |
| predicted_AB | 3.310 | 4.000 | 3.000 | Hitting_AB | 3.198 | 3.000 | 0.802 | 1.000 |
| predicted_AVG | 0.289 | 0.250 | 0.333 | Hitting_AVG | 0.290 | 0.667 | -0.040 | -0.417 |
| predicted_BB | 0.252 | 0.000 | 0.000 | Hitting_BB | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.928 | 2.000 | 0.072 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.369 | 0.250 | 0.333 | Hitting_OBP | 0.350 | 0.667 | -0.100 | -0.417 |
| predicted_R | 0.417 | 0.000 | 0.000 | Hitting_R | 0.460 | 0.000 | -0.460 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.488 | 0.000 | -0.488 | 0.000 |
| predicted_SLG | 0.504 | 0.250 | 0.333 | Hitting_SLG | 0.469 | 1.333 | -0.219 | -1.083 |
| predicted_SO | 0.598 | 0.000 | 0.000 | Hitting_SO | 0.591 | 1.000 | -0.591 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.3100 -> 4.0000 (boost 0.6900, better) |
| Biggest Deboost | predicted_SO: 0.5980 -> 0.0000 (deboost -0.5980, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.5040 -> 0.5108 (boost 0.0068, better) | predicted_AB: 3.3100 -> 3.1986 (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_OBP: 0.3678 -> 0.3494 (deboost -0.0184, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 2 | 7 | 1 | 8 | predicted_SO: 0.6027 -> 1.0000 (boost 0.3973, worse) | predicted_RBI: 0.4038 -> 0.0000 (deboost -0.4038, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.283 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4142 -> 0.0000 (deboost -0.4142, 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 | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_SLG: 0.4931 -> 0.4760 (deboost -0.0171, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4760 -> 0.4931 (boost 0.0171, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.213,
"predicted_3B": 0.031,
"predicted_AB": 3.31,
"predicted_AVG": 0.289,
"predicted_BB": 0.252,
"predicted_H": 0.96,
"predicted_HR": 0.1,
"predicted_OBP": 0.369,
"predicted_R": 0.417,
"predicted_RBI": 0.39,
"predicted_SLG": 0.504,
"predicted_SO": 0.598
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1932,
"predicted_3B": 0.0508,
"predicted_AB": 3.1986,
"predicted_AVG": 0.2879,
"predicted_BB": 0.277,
"predicted_H": 0.923,
"predicted_HBP": 0.082,
"predicted_HR": 0.1133,
"predicted_OBP": 0.3678,
"predicted_R": 0.4045,
"predicted_RBI": 0.3943,
"predicted_SLG": 0.5108,
"predicted_SO": 0.6057
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.1932,
"delta": -0.0198,
"percent_delta": -0.093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0508,
"delta": 0.0198,
"percent_delta": 0.6387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.31,
"after": 3.1986,
"delta": -0.1114,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2879,
"delta": -0.0011,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.277,
"delta": 0.025,
"percent_delta": 0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.923,
"delta": -0.037,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1133,
"delta": 0.0133,
"percent_delta": 0.133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3678,
"delta": -0.0012,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.4045,
"delta": -0.0125,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3943,
"delta": 0.0043,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.5108,
"delta": 0.0068,
"percent_delta": 0.0135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 0.6057,
"delta": 0.0077,
"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_SLG",
"before": 0.504,
"after": 0.5108,
"delta": 0.0068,
"percent_delta": 0.0135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.31,
"after": 3.1986,
"delta": -0.1114,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1932,
"predicted_3B": 0.0508,
"predicted_AB": 3.1986,
"predicted_AVG": 0.2927,
"predicted_BB": 0.2784,
"predicted_H": 0.9364,
"predicted_HBP": 0.082,
"predicted_HR": 0.1153,
"predicted_OBP": 0.3494,
"predicted_R": 0.4142,
"predicted_RBI": 0.4038,
"predicted_SLG": 0.4931,
"predicted_SO": 0.6027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1932,
"after": 0.1932,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0508,
"after": 0.0508,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1986,
"after": 3.1986,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2879,
"after": 0.2927,
"delta": 0.0048,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.2784,
"delta": 0.0014,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.923,
"after": 0.9364,
"delta": 0.0134,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.082,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1133,
"after": 0.1153,
"delta": 0.002,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3678,
"after": 0.3494,
"delta": -0.0184,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4045,
"after": 0.4142,
"delta": 0.0097,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3943,
"after": 0.4038,
"delta": 0.0095,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5108,
"after": 0.4931,
"delta": -0.0177,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6057,
"after": 0.6027,
"delta": -0.003,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3678,
"after": 0.3494,
"delta": -0.0184,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.283 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.1932,
"after": 0.0,
"delta": -0.1932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0508,
"after": 0.0,
"delta": -0.0508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1986,
"after": 3.0,
"delta": -0.1986,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2784,
"after": 0.0,
"delta": -0.2784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9364,
"after": 1.0,
"delta": 0.0636,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1153,
"after": 0.0,
"delta": -0.1153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4038,
"after": 0.0,
"delta": -0.4038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6027,
"after": 1.0,
"delta": 0.3973,
"percent_delta": 0.6592,
"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.6027,
"after": 1.0,
"delta": 0.3973,
"percent_delta": 0.6592,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4038,
"after": 0.0,
"delta": -0.4038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4142,
"after": 0.0,
"delta": -0.4142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4142,
"after": 0.0,
"delta": -0.4142,
"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.283,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.344,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.476,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2927,
"after": 0.283,
"delta": -0.0097,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.344,
"delta": -0.0054,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4931,
"after": 0.476,
"delta": -0.0171,
"percent_delta": -0.0347,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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_SLG",
"before": 0.4931,
"after": 0.476,
"delta": -0.0171,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2927,
"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.3494,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4931,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2927,
"delta": 0.0097,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3494,
"delta": 0.0054,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4931,
"delta": 0.0171,
"percent_delta": 0.0359,
"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.476,
"after": 0.4931,
"delta": 0.0171,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2927,
"delta": 0.0037,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.252,
"after": 0.0,
"delta": -0.252,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3494,
"delta": -0.0196,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.4931,
"delta": -0.0109,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 0.0,
"delta": -0.598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.598,
"after": 0.0,
"delta": -0.598,
"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.213 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.310 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.252 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.504 | - |
| predicted_SO | 0.598 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | -0.020 |
| predicted_3B | 0.051 | 0.020 |
| predicted_AB | 3.199 | -0.111 |
| predicted_AVG | 0.288 | -0.001 |
| predicted_BB | 0.277 | 0.025 |
| predicted_H | 0.923 | -0.037 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.113 | 0.013 |
| predicted_OBP | 0.368 | -0.001 |
| predicted_R | 0.405 | -0.012 |
| predicted_RBI | 0.394 | 0.004 |
| predicted_SLG | 0.511 | 0.007 |
| predicted_SO | 0.606 | 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.193 | 0.000 |
| predicted_3B | 0.051 | 0.000 |
| predicted_AB | 3.199 | 0.000 |
| predicted_AVG | 0.293 | 0.005 |
| predicted_BB | 0.278 | 0.001 |
| predicted_H | 0.936 | 0.013 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.115 | 0.002 |
| predicted_OBP | 0.349 | -0.018 |
| predicted_R | 0.414 | 0.010 |
| predicted_RBI | 0.404 | 0.010 |
| predicted_SLG | 0.493 | -0.018 |
| predicted_SO | 0.603 | -0.003 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.283 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.193 |
| predicted_3B | 0.000 | -0.051 |
| predicted_AB | 3.000 | -0.199 |
| predicted_AVG | 0.283 | -0.010 |
| predicted_BB | 0.000 | -0.278 |
| predicted_H | 1.000 | 0.064 |
| predicted_HR | 0.000 | -0.115 |
| predicted_OBP | 0.344 | -0.005 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 0.000 | -0.404 |
| predicted_SLG | 0.476 | -0.017 |
| predicted_SO | 1.000 | 0.397 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.2143 | 0.3529 | 0.3571 | 0.2143 | 0.0000 | 0.0000 | 0.1429 | 0.2143 |
| last_10 | 0.20 | 10 | - | 33.000 | 13.000 | 2.000 | 1.000 | 4.000 | 8.000 | 7.000 | 4.000 | 6.000 | 0.3939 | 0.4737 | 0.8788 | 0.3939 | 0.1212 | 0.2424 | 0.1212 | 0.1818 |
| season | 0.60 | 127 | - | 376.000 | 105.000 | 27.000 | 4.000 | 12.000 | 52.000 | 53.000 | 32.000 | 76.000 | 0.2793 | 0.3422 | 0.4681 | 0.2793 | 0.0319 | 0.1383 | 0.0851 | 0.2021 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0770 |
| predicted_AB | 3.0510 |
| predicted_AVG | 0.2864 |
| predicted_BB | 0.3100 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3663 |
| predicted_R | 0.3880 |
| predicted_RBI | 0.4000 |
| predicted_SLG | 0.5199 |
| predicted_SO | 0.6160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.1670 | 0.1932 | model_form_blend |
| predicted_3B | 0.0310 | 0.0770 | 0.0508 | model_form_blend |
| predicted_AB | 3.3100 | 3.0510 | 3.1986 | model_form_blend |
| predicted_AVG | 0.2890 | 0.2864 | 0.2879 | model_form_blend |
| predicted_BB | 0.2520 | 0.3100 | 0.2770 | model_form_blend |
| predicted_H | 0.9600 | 0.8740 | 0.9230 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.1000 | 0.1310 | 0.1133 | model_form_blend |
| predicted_OBP | 0.3690 | 0.3663 | 0.3678 | model_form_blend |
| predicted_R | 0.4170 | 0.3880 | 0.4045 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4000 | 0.3943 | model_form_blend |
| predicted_SLG | 0.5040 | 0.5199 | 0.5108 | model_form_blend |
| predicted_SO | 0.5980 | 0.6160 | 0.6057 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 389 |
| Season rows before report date | 389 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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 | CF |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 671976 |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.354 |
| sl_xwoba | 0.317 |
| sl_xba | 0.254 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 17.7 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 54.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.091 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.750 | 4.000 | 3.000 | Hitting_AB | 2.765 | 3.000 | 1.235 | 1.000 |
| predicted_AVG | 0.198 | 0.000 | 0.000 | Hitting_AVG | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_BB | 0.386 | 0.000 | 0.000 | Hitting_BB | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.470 | 0.000 | 0.000 | Hitting_H | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.000 | Hitting_OBP | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_R | 0.364 | 0.000 | 0.000 | Hitting_R | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_SLG | 0.334 | 0.000 | 0.000 | Hitting_SLG | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_SO | 0.955 | 2.000 | 1.000 | Hitting_SO | 1.118 | 2.000 | 0.882 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.7500 -> 4.0000 (boost 1.2500, better) |
| Biggest Deboost | predicted_H: 0.4700 -> 0.0000 (deboost -0.4700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.7500 -> 2.8696 (boost 0.1196, better) | predicted_AVG: 0.1980 -> 0.1925 (deboost -0.0055, worse) | Final model input calibrated with local 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.1925 -> 0.1791 (deboost -0.0134, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.5140 -> 1.0000 (boost 0.4860, better) | predicted_BB: 0.3855 -> 0.0000 (deboost -0.3855, worse) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.179 HR/AB=0.038 |
| 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.3830 -> 0.0000 (deboost -0.3830, 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 | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.3407 -> 0.3290 (deboost -0.0117, 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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3290 -> 0.3407 (boost 0.0117, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668670",
"player_name": "Jake Rogers",
"position": "C",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.023,
"predicted_AB": 2.75,
"predicted_AVG": 0.198,
"predicted_BB": 0.386,
"predicted_H": 0.47,
"predicted_HR": 0.1,
"predicted_OBP": 0.275,
"predicted_R": 0.364,
"predicted_RBI": 0.27,
"predicted_SLG": 0.334,
"predicted_SO": 0.955
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.0198,
"predicted_AB": 2.8696,
"predicted_AVG": 0.1925,
"predicted_BB": 0.3836,
"predicted_H": 0.5067,
"predicted_HBP": 0.017,
"predicted_HR": 0.1064,
"predicted_OBP": 0.2757,
"predicted_R": 0.374,
"predicted_RBI": 0.2939,
"predicted_SLG": 0.3381,
"predicted_SO": 0.9921
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.099,
"delta": 0.008,
"percent_delta": 0.0879,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0198,
"delta": -0.0032,
"percent_delta": -0.1391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.75,
"after": 2.8696,
"delta": 0.1196,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1925,
"delta": -0.0055,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.3836,
"delta": -0.0024,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.47,
"after": 0.5067,
"delta": 0.0367,
"percent_delta": 0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1064,
"delta": 0.0064,
"percent_delta": 0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2757,
"delta": 0.0007,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.374,
"delta": 0.01,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2939,
"delta": 0.0239,
"percent_delta": 0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3381,
"delta": 0.0041,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 0.9921,
"delta": 0.0371,
"percent_delta": 0.0388,
"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.75,
"after": 2.8696,
"delta": 0.1196,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1925,
"delta": -0.0055,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.0198,
"predicted_AB": 2.8696,
"predicted_AVG": 0.1791,
"predicted_BB": 0.3855,
"predicted_H": 0.514,
"predicted_HBP": 0.017,
"predicted_HR": 0.1083,
"predicted_OBP": 0.2763,
"predicted_R": 0.383,
"predicted_RBI": 0.301,
"predicted_SLG": 0.3407,
"predicted_SO": 0.9872
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0198,
"after": 0.0198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8696,
"after": 2.8696,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1925,
"after": 0.1791,
"delta": -0.0134,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3836,
"after": 0.3855,
"delta": 0.0019,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5067,
"after": 0.514,
"delta": 0.0073,
"percent_delta": 0.0144,
"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.1064,
"after": 0.1083,
"delta": 0.0019,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2757,
"after": 0.2763,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.383,
"delta": 0.009,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2939,
"after": 0.301,
"delta": 0.0071,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3381,
"after": 0.3407,
"delta": 0.0026,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9921,
"after": 0.9872,
"delta": -0.0049,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1925,
"after": 0.1791,
"delta": -0.0134,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.179 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0198,
"after": 0.0,
"delta": -0.0198,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8696,
"after": 3.0,
"delta": 0.1304,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3855,
"after": 0.0,
"delta": -0.3855,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"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.1083,
"after": 0.0,
"delta": -0.1083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.301,
"after": 0.0,
"delta": -0.301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9872,
"after": 1.0,
"delta": 0.0128,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3855,
"after": 0.0,
"delta": -0.3855,
"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.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"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.176,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1791,
"after": 0.176,
"delta": -0.0031,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2763,
"after": 0.273,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3407,
"after": 0.329,
"delta": -0.0117,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.3407,
"after": 0.329,
"delta": -0.0117,
"percent_delta": -0.0343,
"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.1791,
"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.2763,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3407,
"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.176,
"after": 0.1791,
"delta": 0.0031,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2763,
"delta": 0.0033,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3407,
"delta": 0.0117,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.3407,
"delta": 0.0117,
"percent_delta": 0.0354,
"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.091,
"after": 0.0,
"delta": -0.091,
"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": 2.75,
"after": 4.0,
"delta": 1.25,
"percent_delta": 0.4545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1791,
"delta": -0.0189,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"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.2763,
"delta": 0.0013,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"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.334,
"after": 0.3407,
"delta": 0.0067,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 2.0,
"delta": 1.045,
"percent_delta": 1.0942,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.75,
"after": 4.0,
"delta": 1.25,
"percent_delta": 0.4545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 2.750 | - |
| predicted_AVG | 0.198 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 0.470 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.955 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | 0.008 |
| predicted_3B | 0.020 | -0.003 |
| predicted_AB | 2.870 | 0.120 |
| predicted_AVG | 0.193 | -0.006 |
| predicted_BB | 0.384 | -0.002 |
| predicted_H | 0.507 | 0.037 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.106 | 0.006 |
| predicted_OBP | 0.276 | 0.001 |
| predicted_R | 0.374 | 0.010 |
| predicted_RBI | 0.294 | 0.024 |
| predicted_SLG | 0.338 | 0.004 |
| predicted_SO | 0.992 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 2.870 | 0.000 |
| predicted_AVG | 0.179 | -0.013 |
| predicted_BB | 0.386 | 0.002 |
| predicted_H | 0.514 | 0.007 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.108 | 0.002 |
| predicted_OBP | 0.276 | 0.001 |
| predicted_R | 0.383 | 0.009 |
| predicted_RBI | 0.301 | 0.007 |
| predicted_SLG | 0.341 | 0.003 |
| predicted_SO | 0.987 | -0.005 |
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.179 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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 | 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.099 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | 0.130 |
| predicted_AVG | 0.176 | -0.003 |
| predicted_BB | 0.000 | -0.386 |
| predicted_H | 1.000 | 0.486 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.273 | -0.003 |
| predicted_R | 0.000 | -0.383 |
| predicted_RBI | 0.000 | -0.301 |
| predicted_SLG | 0.329 | -0.012 |
| 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 | 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 | - | 17.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 7.000 | 0.1176 | 0.2105 | 0.2941 | 0.1177 | 0.0588 | 0.1177 | 0.1177 | 0.4118 |
| last_10 | 0.20 | 10 | - | 28.000 | 6.000 | 2.000 | 0.000 | 1.000 | 3.000 | 5.000 | 4.000 | 11.000 | 0.2143 | 0.3125 | 0.3929 | 0.2143 | 0.0357 | 0.1071 | 0.1429 | 0.3929 |
| season | 0.60 | 44 | - | 121.000 | 21.000 | 4.000 | 1.000 | 4.000 | 12.000 | 16.000 | 17.000 | 42.000 | 0.1736 | 0.2766 | 0.3223 | 0.1736 | 0.0331 | 0.0992 | 0.1405 | 0.3471 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.0500 |
| predicted_AVG | 0.1841 |
| predicted_BB | 0.3800 |
| predicted_H | 0.5620 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.2767 |
| predicted_R | 0.3890 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.3442 |
| predicted_SO | 1.0480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1110 | 0.0990 | model_form_blend |
| predicted_3B | 0.0230 | 0.0150 | 0.0198 | model_form_blend |
| predicted_AB | 2.7500 | 3.0500 | 2.8696 | model_form_blend |
| predicted_AVG | 0.1980 | 0.1841 | 0.1925 | model_form_blend |
| predicted_BB | 0.3860 | 0.3800 | 0.3836 | model_form_blend |
| predicted_H | 0.4700 | 0.5620 | 0.5067 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1000 | 0.1160 | 0.1064 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2767 | 0.2757 | model_form_blend |
| predicted_R | 0.3640 | 0.3890 | 0.3740 | model_form_blend |
| predicted_RBI | 0.2700 | 0.3300 | 0.2939 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3442 | 0.3381 | model_form_blend |
| predicted_SO | 0.9550 | 1.0480 | 0.9921 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260823_NYM@CHW |
| game_type | full |
| mlbID | 668670 |
| playerID | 668670 |
| playerName | Jake Rogers |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-23 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.265 |
| sl_xwoba | 0.275 |
| sl_xba | 0.182 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 21.2 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 43.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 1.000 | 0.000 | Hitting_2B | 0.244 | 0.000 | 0.756 | 1.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 4.420 | 3.000 | 4.000 | Hitting_AB | 3.834 | 4.000 | -0.834 | -1.000 |
| predicted_AVG | 0.233 | 0.667 | 0.250 | Hitting_AVG | 0.247 | 0.000 | 0.420 | 0.667 |
| predicted_BB | 0.625 | 2.000 | 1.000 | Hitting_BB | 0.613 | 0.000 | 1.387 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.030 | 2.000 | 1.000 | Hitting_H | 0.947 | 0.000 | 1.053 | 2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_OBP | 0.342 | 0.800 | 0.400 | Hitting_OBP | 0.356 | 0.000 | 0.444 | 0.800 |
| predicted_R | 0.684 | 1.000 | 1.000 | Hitting_R | 0.747 | 0.000 | 0.253 | 1.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.617 | 0.000 | 0.383 | 1.000 |
| predicted_SLG | 0.385 | 1.000 | 0.250 | Hitting_SLG | 0.498 | 0.000 | 0.502 | 1.000 |
| predicted_SO | 0.779 | 0.000 | 1.000 | Hitting_SO | 0.802 | 1.000 | -0.802 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_BB: 0.6250 -> 2.0000 (boost 1.3750, better) |
| Biggest Deboost | predicted_AB: 4.4200 -> 3.0000 (deboost -1.4200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_OBP: 0.3420 -> 0.3526 (boost 0.0106, better) | predicted_AB: 4.4200 -> 4.1134 (deboost -0.3066, worse) | Final model input calibrated with local 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.3891 -> 0.3959 (boost 0.0068, better) | predicted_OBP: 0.3526 -> 0.3463 (deboost -0.0063, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_BB: 0.6425 -> 1.0000 (boost 0.3575, better) | predicted_RBI: 0.3838 -> 0.0000 (deboost -0.3838, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.227 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6491 -> 1.0000 (boost 0.3509, 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3959 -> 0.3610 (deboost -0.0349, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3610 -> 0.3959 (boost 0.0349, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.007,
"predicted_AB": 4.42,
"predicted_AVG": 0.233,
"predicted_BB": 0.625,
"predicted_H": 1.03,
"predicted_HR": 0.15,
"predicted_OBP": 0.342,
"predicted_R": 0.684,
"predicted_RBI": 0.37,
"predicted_SLG": 0.385,
"predicted_SO": 0.779
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1831,
"predicted_3B": 0.0061,
"predicted_AB": 4.1134,
"predicted_AVG": 0.2415,
"predicted_BB": 0.6394,
"predicted_H": 0.9899,
"predicted_HBP": 0.031,
"predicted_HR": 0.1404,
"predicted_OBP": 0.3526,
"predicted_R": 0.6338,
"predicted_RBI": 0.3748,
"predicted_SLG": 0.3891,
"predicted_SO": 0.7916
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.1831,
"delta": -0.0379,
"percent_delta": -0.1715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 4.1134,
"delta": -0.3066,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2415,
"delta": 0.0085,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.625,
"after": 0.6394,
"delta": 0.0144,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.9899,
"delta": -0.0401,
"percent_delta": -0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1404,
"delta": -0.0096,
"percent_delta": -0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3526,
"delta": 0.0106,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 0.6338,
"delta": -0.0502,
"percent_delta": -0.0734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3748,
"delta": 0.0048,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3891,
"delta": 0.0041,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 0.7916,
"delta": 0.0126,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3526,
"delta": 0.0106,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.1134,
"delta": -0.3066,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1831,
"predicted_3B": 0.0061,
"predicted_AB": 4.1134,
"predicted_AVG": 0.2441,
"predicted_BB": 0.6425,
"predicted_H": 1.0043,
"predicted_HBP": 0.031,
"predicted_HR": 0.1429,
"predicted_OBP": 0.3463,
"predicted_R": 0.6491,
"predicted_RBI": 0.3838,
"predicted_SLG": 0.3959,
"predicted_SO": 0.7877
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1831,
"after": 0.1831,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1134,
"after": 4.1134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2415,
"after": 0.2441,
"delta": 0.0026,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6394,
"after": 0.6425,
"delta": 0.0031,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9899,
"after": 1.0043,
"delta": 0.0144,
"percent_delta": 0.0145,
"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.1404,
"after": 0.1429,
"delta": 0.0025,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3526,
"after": 0.3463,
"delta": -0.0063,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6338,
"after": 0.6491,
"delta": 0.0153,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3748,
"after": 0.3838,
"delta": 0.009,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3891,
"after": 0.3959,
"delta": 0.0068,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7916,
"after": 0.7877,
"delta": -0.0039,
"percent_delta": -0.0049,
"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.3891,
"after": 0.3959,
"delta": 0.0068,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3526,
"after": 0.3463,
"delta": -0.0063,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.42), rates preserved: AVG=0.227 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1831,
"after": 0.0,
"delta": -0.1831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1134,
"after": 4.0,
"delta": -0.1134,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6425,
"after": 1.0,
"delta": 0.3575,
"percent_delta": 0.5564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0043,
"after": 1.0,
"delta": -0.0043,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3838,
"after": 0.0,
"delta": -0.3838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7877,
"after": 1.0,
"delta": 0.2123,
"percent_delta": 0.2695,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6425,
"after": 1.0,
"delta": 0.3575,
"percent_delta": 0.5564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3838,
"after": 0.0,
"delta": -0.3838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"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.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.226,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.331,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.361,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2441,
"after": 0.226,
"delta": -0.0181,
"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.3463,
"after": 0.331,
"delta": -0.0153,
"percent_delta": -0.0442,
"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.3959,
"after": 0.361,
"delta": -0.0349,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3959,
"after": 0.361,
"delta": -0.0349,
"percent_delta": -0.0882,
"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": 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": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 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": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2441,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3463,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3959,
"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.226,
"after": 0.2441,
"delta": 0.0181,
"percent_delta": 0.0803,
"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": 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.331,
"after": 0.3463,
"delta": 0.0153,
"percent_delta": 0.0461,
"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.361,
"after": 0.3959,
"delta": 0.0349,
"percent_delta": 0.0965,
"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.361,
"after": 0.3959,
"delta": 0.0349,
"percent_delta": 0.0965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 1.0,
"delta": 0.779,
"percent_delta": 3.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 3.0,
"delta": -1.42,
"percent_delta": -0.3213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2441,
"delta": 0.0111,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.625,
"after": 2.0,
"delta": 1.375,
"percent_delta": 2.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3463,
"delta": 0.0043,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 1.0,
"delta": 0.316,
"percent_delta": 0.462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3959,
"delta": 0.0109,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.779,
"after": 0.0,
"delta": -0.779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.625,
"after": 2.0,
"delta": 1.375,
"percent_delta": 2.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 3.0,
"delta": -1.42,
"percent_delta": -0.3213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.625 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.684 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.779 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | -0.038 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 4.113 | -0.307 |
| predicted_AVG | 0.241 | 0.008 |
| predicted_BB | 0.639 | 0.014 |
| predicted_H | 0.990 | -0.040 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.140 | -0.010 |
| predicted_OBP | 0.353 | 0.011 |
| predicted_R | 0.634 | -0.050 |
| predicted_RBI | 0.375 | 0.005 |
| predicted_SLG | 0.389 | 0.004 |
| predicted_SO | 0.792 | 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.183 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 4.113 | 0.000 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 0.642 | 0.003 |
| predicted_H | 1.004 | 0.014 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.143 | 0.003 |
| predicted_OBP | 0.346 | -0.006 |
| predicted_R | 0.649 | 0.015 |
| predicted_RBI | 0.384 | 0.009 |
| predicted_SLG | 0.396 | 0.007 |
| predicted_SO | 0.788 | -0.004 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.227 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.183 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | -0.113 |
| predicted_AVG | 0.226 | -0.018 |
| predicted_BB | 1.000 | 0.358 |
| predicted_H | 1.000 | -0.004 |
| predicted_HR | 0.000 | -0.143 |
| predicted_OBP | 0.331 | -0.015 |
| predicted_R | 1.000 | 0.351 |
| predicted_RBI | 0.000 | -0.384 |
| predicted_SLG | 0.361 | -0.035 |
| predicted_SO | 1.000 | 0.212 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.2105 | 0.3182 | 0.2105 | 0.2105 | 0.0000 | 0.0000 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 0.000 | 0.000 | 0.000 | 2.000 | 6.000 | 9.000 | 7.000 | 0.3056 | 0.4444 | 0.3056 | 0.3056 | 0.0000 | 0.0556 | 0.2500 | 0.1944 |
| season | 0.60 | 136 | - | 506.000 | 126.000 | 30.000 | 1.000 | 29.000 | 76.000 | 93.000 | 85.000 | 106.000 | 0.2490 | 0.3615 | 0.4842 | 0.2490 | 0.0573 | 0.1502 | 0.1680 | 0.2095 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7170 |
| predicted_AVG | 0.2524 |
| predicted_BB | 0.6580 |
| predicted_H | 0.9380 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3664 |
| predicted_R | 0.5690 |
| predicted_RBI | 0.3810 |
| predicted_SLG | 0.3944 |
| predicted_SO | 0.8080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.1340 | 0.1831 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 4.4200 | 3.7170 | 4.1134 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2524 | 0.2415 | model_form_blend |
| predicted_BB | 0.6250 | 0.6580 | 0.6394 | model_form_blend |
| predicted_H | 1.0300 | 0.9380 | 0.9899 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1500 | 0.1280 | 0.1404 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3664 | 0.3526 | model_form_blend |
| predicted_R | 0.6840 | 0.5690 | 0.6338 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3810 | 0.3748 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3944 | 0.3891 | model_form_blend |
| predicted_SO | 0.7790 | 0.8080 | 0.7916 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 561 |
| Season rows before report date | 561 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.366 |
| sl_xwoba | 0.388 |
| sl_xba | 0.269 |
| sl_xslg | 0.515 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 20.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.205 | 0.000 | 1.000 | Hitting_2B | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.780 | 3.000 | 4.000 | Hitting_AB | 3.799 | 3.000 | -0.799 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_BB | 0.394 | 1.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.930 | 0.000 | 1.000 | Hitting_H | 1.052 | 0.000 | -1.052 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.312 | 0.250 | 0.250 | Hitting_OBP | 0.354 | 0.000 | -0.104 | 0.250 |
| predicted_R | 0.576 | 0.000 | 1.000 | Hitting_R | 0.640 | 0.000 | -0.640 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_SLG | 0.336 | 0.000 | 0.500 | Hitting_SLG | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SO | 0.924 | 1.000 | 1.000 | Hitting_SO | 0.967 | 0.000 | 0.033 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3940 -> 1.0000 (boost 0.6060, better) |
| Biggest Deboost | predicted_H: 0.9300 -> 0.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 | 4 | 3 | 1 | 4 | 0 | predicted_SLG: 0.3360 -> 0.3548 (boost 0.0188, better) | predicted_SO: 0.9240 -> 0.8270 (deboost -0.0970, 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.3548 -> 0.3662 (boost 0.0114, 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_AB: 3.7661 -> 4.0000 (boost 0.2339, better) | predicted_BB: 0.3942 -> 0.0000 (deboost -0.3942, worse) | AB rounded to 4 (raw=3.78), rates preserved: AVG=0.256 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5587 -> 1.0000 (boost 0.4413, better) | - | 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 | 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 |
| 9 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.0,
"predicted_AB": 3.78,
"predicted_AVG": 0.246,
"predicted_BB": 0.394,
"predicted_H": 0.93,
"predicted_HR": 0.06,
"predicted_OBP": 0.312,
"predicted_R": 0.576,
"predicted_RBI": 0.31,
"predicted_SLG": 0.336,
"predicted_SO": 0.924
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2285,
"predicted_3B": 0.0004,
"predicted_AB": 3.7661,
"predicted_AVG": 0.2533,
"predicted_BB": 0.3923,
"predicted_H": 0.9539,
"predicted_HBP": 0.019,
"predicted_HR": 0.0596,
"predicted_OBP": 0.3217,
"predicted_R": 0.5456,
"predicted_RBI": 0.3148,
"predicted_SLG": 0.3548,
"predicted_SO": 0.827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.2285,
"delta": 0.0235,
"percent_delta": 0.1146,
"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.78,
"after": 3.7661,
"delta": -0.0139,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2533,
"delta": 0.0073,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.3923,
"delta": -0.0017,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9539,
"delta": 0.0239,
"percent_delta": 0.0257,
"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.312,
"after": 0.3217,
"delta": 0.0097,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.5456,
"delta": -0.0304,
"percent_delta": -0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3148,
"delta": 0.0048,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3548,
"delta": 0.0188,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 0.827,
"delta": -0.097,
"percent_delta": -0.105,
"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_SLG",
"before": 0.336,
"after": 0.3548,
"delta": 0.0188,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.924,
"after": 0.827,
"delta": -0.097,
"percent_delta": -0.105,
"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": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2285,
"predicted_3B": 0.0004,
"predicted_AB": 3.7661,
"predicted_AVG": 0.257,
"predicted_BB": 0.3942,
"predicted_H": 0.9677,
"predicted_HBP": 0.019,
"predicted_HR": 0.0607,
"predicted_OBP": 0.3274,
"predicted_R": 0.5587,
"predicted_RBI": 0.3224,
"predicted_SLG": 0.3662,
"predicted_SO": 0.8229
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2285,
"after": 0.2285,
"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.7661,
"after": 3.7661,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2533,
"after": 0.257,
"delta": 0.0037,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3923,
"after": 0.3942,
"delta": 0.0019,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9539,
"after": 0.9677,
"delta": 0.0138,
"percent_delta": 0.0145,
"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.0596,
"after": 0.0607,
"delta": 0.0011,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3217,
"after": 0.3274,
"delta": 0.0057,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5456,
"after": 0.5587,
"delta": 0.0131,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3148,
"after": 0.3224,
"delta": 0.0076,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3548,
"after": 0.3662,
"delta": 0.0114,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.827,
"after": 0.8229,
"delta": -0.0041,
"percent_delta": -0.005,
"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.3548,
"after": 0.3662,
"delta": 0.0114,
"percent_delta": 0.0321,
"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.78), rates preserved: AVG=0.256 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2285,
"after": 0.0,
"delta": -0.2285,
"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.7661,
"after": 4.0,
"delta": 0.2339,
"percent_delta": 0.0621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3942,
"after": 0.0,
"delta": -0.3942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9677,
"after": 1.0,
"delta": 0.0323,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0607,
"after": 0.0,
"delta": -0.0607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3224,
"after": 0.0,
"delta": -0.3224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8229,
"after": 1.0,
"delta": 0.1771,
"percent_delta": 0.2152,
"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.7661,
"after": 4.0,
"delta": 0.2339,
"percent_delta": 0.0621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3942,
"after": 0.0,
"delta": -0.3942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.5587,
"after": 1.0,
"delta": 0.4413,
"percent_delta": 0.7899,
"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.5587,
"after": 1.0,
"delta": 0.4413,
"percent_delta": 0.7899,
"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": 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": 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": 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_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.253,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.325,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.367,
"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.257,
"after": 0.253,
"delta": -0.004,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3274,
"after": 0.325,
"delta": -0.0024,
"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_SLG",
"before": 0.3662,
"after": 0.367,
"delta": 0.0008,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.257,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3274,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3662,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.257,
"delta": 0.004,
"percent_delta": 0.0156,
"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.325,
"after": 0.3274,
"delta": 0.0024,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3662,
"delta": -0.0008,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.205,
"after": 0.0,
"delta": -0.205,
"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.78,
"after": 3.0,
"delta": -0.78,
"percent_delta": -0.2063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.257,
"delta": 0.011,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 1.0,
"delta": 0.606,
"percent_delta": 1.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"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.312,
"after": 0.3274,
"delta": 0.0154,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3662,
"delta": 0.0302,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.394,
"after": 1.0,
"delta": 0.606,
"percent_delta": 1.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.780 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.924 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | 0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.766 | -0.014 |
| predicted_AVG | 0.253 | 0.007 |
| predicted_BB | 0.392 | -0.002 |
| predicted_H | 0.954 | 0.024 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.060 | -0.000 |
| predicted_OBP | 0.322 | 0.010 |
| predicted_R | 0.546 | -0.030 |
| predicted_RBI | 0.315 | 0.005 |
| predicted_SLG | 0.355 | 0.019 |
| predicted_SO | 0.827 | -0.097 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.766 | 0.000 |
| predicted_AVG | 0.257 | 0.004 |
| predicted_BB | 0.394 | 0.002 |
| predicted_H | 0.968 | 0.014 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.061 | 0.001 |
| predicted_OBP | 0.327 | 0.006 |
| predicted_R | 0.559 | 0.013 |
| predicted_RBI | 0.322 | 0.008 |
| predicted_SLG | 0.366 | 0.011 |
| predicted_SO | 0.823 | -0.004 |
AB rounded to 4 (raw=3.78), rates preserved: AVG=0.256 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.229 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.234 |
| predicted_AVG | 0.253 | -0.004 |
| predicted_BB | 0.000 | -0.394 |
| predicted_H | 1.000 | 0.032 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.325 | -0.002 |
| predicted_R | 1.000 | 0.441 |
| predicted_RBI | 0.000 | -0.322 |
| predicted_SLG | 0.367 | 0.001 |
| predicted_SO | 1.000 | 0.177 |
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 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 0.2222 | 0.3000 | 0.3333 | 0.2222 | 0.0000 | 0.0556 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 5.000 | 0.2821 | 0.3488 | 0.3590 | 0.2821 | 0.0000 | 0.0513 | 0.1026 | 0.1282 |
| season | 0.60 | 132 | - | 494.000 | 134.000 | 27.000 | 0.000 | 12.000 | 51.000 | 76.000 | 52.000 | 122.000 | 0.2713 | 0.3436 | 0.3988 | 0.2713 | 0.0243 | 0.1032 | 0.1053 | 0.2470 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2590 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7480 |
| predicted_AVG | 0.2628 |
| predicted_BB | 0.3900 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.3344 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.3210 |
| predicted_SLG | 0.3793 |
| predicted_SO | 0.7010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.2590 | 0.2285 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7800 | 3.7480 | 3.7661 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2628 | 0.2533 | model_form_blend |
| predicted_BB | 0.3940 | 0.3900 | 0.3923 | model_form_blend |
| predicted_H | 0.9300 | 0.9850 | 0.9539 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0600 | 0.0590 | 0.0596 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3344 | 0.3217 | model_form_blend |
| predicted_R | 0.5760 | 0.5060 | 0.5456 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3210 | 0.3148 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3793 | 0.3548 | model_form_blend |
| predicted_SO | 0.9240 | 0.7010 | 0.8270 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 522 |
| Season rows before report date | 522 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.331 |
| sl_xwoba | 0.294 |
| sl_xba | 0.236 |
| sl_xslg | 0.335 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 34.3 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 41.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 0.000 | 1.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 4.000 | Hitting_AB | 3.875 | 3.000 | 0.125 | 1.000 |
| predicted_AVG | 0.217 | 0.250 | 0.250 | Hitting_AVG | 0.220 | 0.000 | 0.030 | 0.250 |
| predicted_BB | 0.359 | 0.000 | 1.000 | Hitting_BB | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.852 | 0.000 | 0.148 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.224 | 0.000 | 0.776 | 1.000 |
| predicted_OBP | 0.317 | 0.250 | 0.400 | Hitting_OBP | 0.297 | 0.250 | -0.047 | 0.000 |
| predicted_R | 0.481 | 1.000 | 0.000 | Hitting_R | 0.511 | 0.000 | 0.489 | 1.000 |
| predicted_RBI | 0.640 | 1.000 | 1.000 | Hitting_RBI | 0.635 | 0.000 | 0.365 | 1.000 |
| predicted_SLG | 0.400 | 1.000 | 0.500 | Hitting_SLG | 0.441 | 0.000 | 0.559 | 1.000 |
| predicted_SO | 1.435 | 0.000 | 1.000 | Hitting_SO | 1.429 | 1.000 | -1.429 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_SO: 1.4350 -> 0.0000 (deboost -1.4350, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4000 -> 0.4191 (boost 0.0191, better) | predicted_AB: 4.0200 -> 3.8843 (deboost -0.1357, worse) | Final model input calibrated with local 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.3174 -> 0.2933 (deboost -0.0241, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.6443 -> 1.0000 (boost 0.3557, better) | predicted_SO: 1.4327 -> 1.0000 (deboost -0.4327, better) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.211 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5059 -> 1.0000 (boost 0.4941, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | 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 | 1 | 1 | 2 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2110 -> 0.2187 (boost 0.0077, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.217,
"predicted_BB": 0.359,
"predicted_H": 0.87,
"predicted_HR": 0.17,
"predicted_OBP": 0.317,
"predicted_R": 0.481,
"predicted_RBI": 0.64,
"predicted_SLG": 0.4,
"predicted_SO": 1.435
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1919,
"predicted_3B": 0.0004,
"predicted_AB": 3.8843,
"predicted_AVG": 0.2159,
"predicted_BB": 0.4082,
"predicted_H": 0.8374,
"predicted_HBP": 0.109,
"predicted_HR": 0.187,
"predicted_OBP": 0.3174,
"predicted_R": 0.494,
"predicted_RBI": 0.6291,
"predicted_SLG": 0.4191,
"predicted_SO": 1.4398
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1919,
"delta": 0.0239,
"percent_delta": 0.1423,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8843,
"delta": -0.1357,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2159,
"delta": -0.0011,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.359,
"after": 0.4082,
"delta": 0.0492,
"percent_delta": 0.137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8374,
"delta": -0.0326,
"percent_delta": -0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.187,
"delta": 0.017,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3174,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.494,
"delta": 0.013,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6291,
"delta": -0.0109,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4191,
"delta": 0.0191,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.435,
"after": 1.4398,
"delta": 0.0048,
"percent_delta": 0.0033,
"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.4,
"after": 0.4191,
"delta": 0.0191,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8843,
"delta": -0.1357,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 131
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1919,
"predicted_3B": 0.0004,
"predicted_AB": 3.8843,
"predicted_AVG": 0.2187,
"predicted_BB": 0.4102,
"predicted_H": 0.8495,
"predicted_HBP": 0.109,
"predicted_HR": 0.1903,
"predicted_OBP": 0.2933,
"predicted_R": 0.5059,
"predicted_RBI": 0.6443,
"predicted_SLG": 0.4153,
"predicted_SO": 1.4327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1919,
"after": 0.1919,
"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.8843,
"after": 3.8843,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2159,
"after": 0.2187,
"delta": 0.0028,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4082,
"after": 0.4102,
"delta": 0.002,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8374,
"after": 0.8495,
"delta": 0.0121,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.187,
"after": 0.1903,
"delta": 0.0033,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3174,
"after": 0.2933,
"delta": -0.0241,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.5059,
"delta": 0.0119,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6291,
"after": 0.6443,
"delta": 0.0152,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4191,
"after": 0.4153,
"delta": -0.0038,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4398,
"after": 1.4327,
"delta": -0.0071,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3174,
"after": 0.2933,
"delta": -0.0241,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.211 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.1919,
"after": 0.0,
"delta": -0.1919,
"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.8843,
"after": 4.0,
"delta": 0.1157,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4102,
"after": 0.0,
"delta": -0.4102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8495,
"after": 1.0,
"delta": 0.1505,
"percent_delta": 0.1772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1903,
"after": 0.0,
"delta": -0.1903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6443,
"after": 1.0,
"delta": 0.3557,
"percent_delta": 0.5521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4327,
"after": 1.0,
"delta": -0.4327,
"percent_delta": -0.302,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6443,
"after": 1.0,
"delta": 0.3557,
"percent_delta": 0.5521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4327,
"after": 1.0,
"delta": -0.4327,
"percent_delta": -0.302,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"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.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.211,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.409,
"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.2187,
"after": 0.211,
"delta": -0.0077,
"percent_delta": -0.0352,
"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.2933,
"after": 0.29,
"delta": -0.0033,
"percent_delta": -0.0113,
"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_SLG",
"before": 0.4153,
"after": 0.409,
"delta": -0.0063,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"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.2187,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2933,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4153,
"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.211,
"after": 0.2187,
"delta": 0.0077,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.29,
"after": 0.2933,
"delta": 0.0033,
"percent_delta": 0.0115,
"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.409,
"after": 0.4153,
"delta": 0.0063,
"percent_delta": 0.0155,
"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_AVG",
"before": 0.211,
"after": 0.2187,
"delta": 0.0077,
"percent_delta": 0.0365,
"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": 4.02,
"after": 4.0,
"delta": -0.02,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2187,
"delta": 0.0017,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.359,
"after": 0.0,
"delta": -0.359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.2933,
"delta": -0.0237,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 1.0,
"delta": 0.519,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4153,
"delta": 0.0153,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.435,
"after": 0.0,
"delta": -1.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.435,
"after": 0.0,
"delta": -1.435,
"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.168 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.359 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 1.435 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.884 | -0.136 |
| predicted_AVG | 0.216 | -0.001 |
| predicted_BB | 0.408 | 0.049 |
| predicted_H | 0.837 | -0.033 |
| predicted_HBP | 0.109 | - |
| predicted_HR | 0.187 | 0.017 |
| predicted_OBP | 0.317 | 0.000 |
| predicted_R | 0.494 | 0.013 |
| predicted_RBI | 0.629 | -0.011 |
| predicted_SLG | 0.419 | 0.019 |
| predicted_SO | 1.440 | 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.192 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.884 | 0.000 |
| predicted_AVG | 0.219 | 0.003 |
| predicted_BB | 0.410 | 0.002 |
| predicted_H | 0.850 | 0.012 |
| predicted_HBP | 0.109 | 0.000 |
| predicted_HR | 0.190 | 0.003 |
| predicted_OBP | 0.293 | -0.024 |
| predicted_R | 0.506 | 0.012 |
| predicted_RBI | 0.644 | 0.015 |
| predicted_SLG | 0.415 | -0.004 |
| predicted_SO | 1.433 | -0.007 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.211 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 | 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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.192 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.116 |
| predicted_AVG | 0.211 | -0.008 |
| predicted_BB | 0.000 | -0.410 |
| predicted_H | 1.000 | 0.150 |
| predicted_HR | 0.000 | -0.190 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 1.000 | 0.494 |
| predicted_RBI | 1.000 | 0.356 |
| predicted_SLG | 0.409 | -0.006 |
| predicted_SO | 1.000 | -0.433 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 6.000 | 0.2353 | 0.4091 | 0.5294 | 0.2353 | 0.0588 | 0.1765 | 0.2353 | 0.3529 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 2.000 | 0.000 | 2.000 | 7.000 | 5.000 | 5.000 | 19.000 | 0.1842 | 0.2955 | 0.3947 | 0.1842 | 0.0526 | 0.1842 | 0.1316 | 0.5000 |
| season | 0.60 | 131 | - | 494.000 | 106.000 | 22.000 | 0.000 | 29.000 | 79.000 | 63.000 | 47.000 | 188.000 | 0.2146 | 0.2960 | 0.4352 | 0.2146 | 0.0587 | 0.1599 | 0.0951 | 0.3806 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2230 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7080 |
| predicted_AVG | 0.2145 |
| predicted_BB | 0.4720 |
| predicted_H | 0.7950 |
| predicted_HBP | 0.1090 |
| predicted_HR | 0.2090 |
| predicted_OBP | 0.3179 |
| predicted_R | 0.5110 |
| predicted_RBI | 0.6150 |
| predicted_SLG | 0.4440 |
| predicted_SO | 1.4460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.2230 | 0.1919 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 3.7080 | 3.8843 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2145 | 0.2159 | model_form_blend |
| predicted_BB | 0.3590 | 0.4720 | 0.4082 | model_form_blend |
| predicted_H | 0.8700 | 0.7950 | 0.8374 | model_form_blend |
| predicted_HBP | - | 0.1090 | 0.1090 | form_only |
| predicted_HR | 0.1700 | 0.2090 | 0.1870 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3179 | 0.3174 | model_form_blend |
| predicted_R | 0.4810 | 0.5110 | 0.4940 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6150 | 0.6291 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4440 | 0.4191 | model_form_blend |
| predicted_SO | 1.4350 | 1.4460 | 1.4398 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 513 |
| Season rows before report date | 513 |
| Report year | 2026 |
| Profile rows used | 131 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHW |
| teamID | 6 |
| game_date | 2026-09-02 |
| sl_k_percent | 33.9 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.318 |
| sl_xwoba | 0.305 |
| sl_xba | 0.211 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 42.0 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 23.6 |
| sl_whiff_percent | 37.2 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.200 | 1.000 | -0.200 | 0.000 |
| predicted_ER | 4.000 | 3.000 | 4.000 | Pitching_ER | 3.200 | 4.000 | -0.200 | -1.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 6.200 | 8.000 | 0.800 | -1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.280 | 4.000 | -0.080 | 0.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.000 | 1.000 | 2.000 | 5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 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": "622491",
"player_name": "Luis Castillo",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 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 | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.667 | - |
| 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 | 22.100 | 16.000 | 31.000 | 6.000 | 20.000 | 7.000 | 6.4478 | 1.6567 | 0.7164 | 1.3881 | 0.2687 | 0.8955 | 0.3134 |
| last_10 | 0.35 | 10 | 51.100 | 31.000 | 64.000 | 13.000 | 37.000 | 14.000 | 5.4351 | 1.5000 | 0.6039 | 1.2468 | 0.2532 | 0.7208 | 0.2727 |
| season | 0.20 | 25 | 122.000 | 72.000 | 138.000 | 38.000 | 106.000 | 23.000 | 5.3115 | 1.4426 | 0.5902 | 1.1312 | 0.3115 | 0.8689 | 0.1885 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3530 |
| predicted_ER | 2.9390 |
| predicted_ERA | 5.6347 |
| predicted_H | 5.7970 |
| predicted_HR | 1.1870 |
| predicted_IP | 4.2000 |
| predicted_SO | 3.9780 |
| predicted_WHIP | 1.5231 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.3530 | 1.2046 | model_form_blend |
| predicted_ER | 3.0000 | 2.9390 | 2.9646 | model_form_blend |
| predicted_ERA | - | 5.6347 | 5.6347 | form_only |
| predicted_H | 7.0000 | 5.7970 | 6.3028 | model_form_blend |
| predicted_HR | 1.0000 | 1.1870 | 1.1084 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 6.0000 | 3.9780 | 4.8281 | model_form_blend |
| predicted_WHIP | - | 1.5231 | 1.5231 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 7 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 24 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 4 |
| Pitching_ERA | 5.31 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 1 |
| Pitching_H | 8 |
| Pitching_HBP | 1 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 75 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 49 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_CHW@MIN |
| game_type | full |
| mlbID | 622491 |
| playerID | 622491 |
| playerName | Luis Castillo |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-28 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.353 |
| sl_xwoba | 0.341 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 42.5 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 52.3 |
| sl_avg_best_speed | 79.730173247 |
| sl_avg_hyper_speed | 94.473030541 |
| 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.439 | 0.000 | -0.439 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.976 | 2.000 | 0.024 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.266 | 1.200 | -0.166 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.854 | 1.000 | 0.146 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "691799",
"player_name": "Grant Taylor",
"position": "Closer",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 8.000 | 0.000 | 4.000 | 1.000 | 9.000 | 0.000 | 0.0000 | 0.6250 | 0.0000 | 0.5000 | 0.1250 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 5.000 | 6.000 | 16.000 | 1.000 | 1.2000 | 0.7333 | 0.1333 | 0.3333 | 0.4000 | 1.0667 | 0.0667 |
| season | 0.20 | 41 | 56.100 | 15.000 | 40.000 | 18.000 | 76.000 | 4.000 | 2.3964 | 1.0296 | 0.2663 | 0.7101 | 0.3195 | 1.3491 | 0.0710 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4230 |
| predicted_ER | 0.3190 |
| predicted_ERA | 1.9955 |
| predicted_H | 0.9110 |
| predicted_HR | 0.1020 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5600 |
| predicted_WHIP | 0.9275 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4230 | 0.2202 | model_form_blend |
| predicted_ER | 0.0000 | 0.3190 | 0.1661 | model_form_blend |
| predicted_ERA | - | 1.9955 | 1.9955 | form_only |
| predicted_H | 1.0000 | 0.9110 | 0.9537 | model_form_blend |
| predicted_HR | 0.0000 | 0.1020 | 0.0531 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.5600 | 1.7709 | model_form_blend |
| predicted_WHIP | - | 0.9275 | 0.9275 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 41 |
| Season rows before report date | 41 |
| Report year | 2026 |
| Profile rows used | 41 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 30 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260802_CHW@TB |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-02 |
| game_pk | 822943.0 |
| sl_k_percent | 33.0 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.242 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 41.6 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 46.4 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 88.12727272727273 |
| sv_release_spin_rate | 2356.681818181818 |
| sv_effective_speed | 88.98181818181818 |
| sv_launch_speed | 86.17 |
| sv_launch_angle | -1.4 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.38 |
| sv_delta_home_win_exp | -0.037 |
| sl_avg_best_speed | 79.82340622 |
| sl_avg_hyper_speed | 94.100475793 |
| 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.574 | 2.000 | -0.574 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.064 | 0.000 | 0.936 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.281 | 2.000 | -0.181 | -0.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.362 | 0.000 | 1.638 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656794",
"player_name": "Sean Newcomb",
"position": "Setup Man",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 8.000 | 0.000 | 1.000 | 5.000 | 6.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.1250 | 0.6250 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 14.000 | 4.000 | 9.000 | 7.000 | 9.000 | 1.000 | 2.5714 | 1.1429 | 0.2857 | 0.6429 | 0.5000 | 0.6429 | 0.0714 |
| season | 0.20 | 46 | 70.000 | 19.000 | 48.000 | 27.000 | 64.000 | 2.000 | 2.4429 | 1.0714 | 0.2714 | 0.6857 | 0.3857 | 0.9143 | 0.0286 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7330 |
| predicted_ER | 0.3650 |
| predicted_ERA | 2.1987 |
| predicted_H | 0.8420 |
| predicted_HR | 0.0910 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.1890 |
| predicted_WHIP | 1.0545 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7330 | 0.3952 | model_form_blend |
| predicted_ER | 0.0000 | 0.3650 | 0.1968 | model_form_blend |
| predicted_ERA | - | 2.1987 | 2.1987 | form_only |
| predicted_H | 2.0000 | 0.8420 | 1.3756 | model_form_blend |
| predicted_HR | 0.0000 | 0.0910 | 0.0491 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 3.0000 | 1.1890 | 2.0235 | model_form_blend |
| predicted_WHIP | - | 1.0545 | 1.0545 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 47 |
| Season rows before report date | 47 |
| 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.44 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 34 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 656794 |
| playerID | 656794 |
| playerName | Sean Newcomb |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.261 |
| sl_xwoba | 0.305 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 45.3 |
| sv_pitch_count | 34.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 92.27058823529411 |
| sv_release_spin_rate | 2447.823529411765 |
| sv_effective_speed | 91.21764705882352 |
| sv_launch_speed | 80.21428571428571 |
| sv_launch_angle | 35.142857142857146 |
| sv_woba_value | 1.4 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | -0.539 |
| sv_delta_home_win_exp | -0.099 |
| sl_avg_best_speed | 76.975179429 |
| sl_avg_hyper_speed | 93.743523254 |
| 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.354 | 0.000 | -0.354 | 0.000 |
| predicted_ER | 1.000 | 2.000 | 1.000 | Pitching_ER | 0.312 | 0.000 | 1.688 | 2.000 |
| predicted_H | 1.000 | 3.000 | 1.000 | Pitching_H | 0.875 | 0.000 | 2.125 | 3.000 |
| predicted_IP | 0.200 | 1.100 | 0.200 | Pitching_InningsPitched | 0.846 | 1.000 | 0.254 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.917 | 0.000 | 0.083 | 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": "663542",
"player_name": "Bryan Hudson",
"position": "Middle Reliever (High Leverage)",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 5.000 | 6.000 | 1.000 | 4.000 | 1.000 | 10.3846 | 1.6154 | 1.1539 | 1.3846 | 0.2308 | 0.9231 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 6.000 | 10.000 | 1.000 | 9.000 | 1.000 | 6.2308 | 1.2692 | 0.6923 | 1.1539 | 0.1154 | 1.0385 | 0.1154 |
| season | 0.20 | 48 | 46.200 | 15.000 | 42.000 | 17.000 | 44.000 | 2.000 | 2.8929 | 1.2643 | 0.3214 | 0.9000 | 0.3643 | 0.9429 | 0.0429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2390 |
| predicted_ER | 0.6290 |
| predicted_ERA | 6.4053 |
| predicted_H | 0.9950 |
| predicted_HR | 0.1330 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8470 |
| predicted_WHIP | 1.3960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2390 | 0.1202 | model_form_blend |
| predicted_ER | 1.0000 | 0.6290 | 0.8134 | model_form_blend |
| predicted_ERA | - | 6.4053 | 6.4053 | form_only |
| predicted_H | 1.0000 | 0.9950 | 0.9975 | model_form_blend |
| predicted_HR | 0.0000 | 0.1330 | 0.0669 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8470 | 0.9230 | model_form_blend |
| predicted_WHIP | - | 1.3960 | 1.3960 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.89 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260730_NYY@CHW |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-07-30 |
| game_pk | 824568.0 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.288 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 36.5 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 47.8 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 87.14545454545454 |
| sv_release_spin_rate | 2094.909090909091 |
| sv_effective_speed | 88.5 |
| sv_launch_speed | 93.65 |
| sv_launch_angle | 9.25 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.782 |
| sv_delta_home_win_exp | 0.139 |
| sl_avg_best_speed | 77.18679963 |
| sl_avg_hyper_speed | 93.213528395 |
| Field | Value |
|---|---|
| Pitcher | Hunter Brown |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3054 |
| ESPN Rank | 93 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1360 |
| Avg Velo | 92.2961 |
| Avg Spin | 2200.9096 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 4 |
| Pre SO | 3 |
| Season ERA | 3.3333 |
| Season WHIP | 1.2963 |
| Role Avg IP | 5.4000 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 6.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"opponent": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"edges": {
"quality_edge": -0.0898,
"offense_edge": 0.0051,
"opponent_offense_edge": 0.0555,
"defense_strength": -0.067,
"opponent_defense_weakness": -0.0134,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9922,
"run_prevention": 1.0201,
"strikeout": 0.9929
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686613",
"profile": {
"available": true,
"pitcher_id": "686613",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 291.0,
"k_percent": 25.3,
"bb_percent": 12.9,
"woba": 0.303,
"xwoba": 0.293,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.4,
"avg_best_speed": 73.4226,
"avg_hyper_speed": 93.2338,
"whiff_percent": 25.4,
"swing_percent": 41.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4571,
"command_and_miss": 0.0386,
"regression_edge": 0.2857,
"xwoba_edge": 0.5143,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.0571,
"whiff_edge": 0.0286,
"bb_edge": -0.95,
"pitch_design_score": 0.136
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686613",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2961,
"release_spin_rate": 2200.9096,
"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.136,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9712,
"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.3054,
"sample_weight": 1.0,
"run_prevention_factor": 0.974,
"strikeout_factor": 1.0206,
"walk_factor": 1.076,
"homer_factor": 0.9645,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686613",
"espn_id": 4717803,
"player_name": "Hunter Brown",
"team": "HOU",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 93,
"gp_value": 15.0,
"gp_rank": 449,
"gs_value": 15.0,
"gs_rank": 131,
"qs_value": 6.0,
"qs_rank": 89,
"era_value": 3.3333,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 81.0,
"ip_rank": 151,
"h_value": 61.0,
"h_rank": 181,
"er_value": 30.0,
"er_rank": 182,
"hr_value": 10.0,
"hr_rank": 151,
"bb_value": 44.0,
"bb_rank": 57,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 9.555555,
"k_per_9_rank": 23,
"whip_value": 1.2962,
"whip_rank": null,
"war_value": 1.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.974,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.974,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.076,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9645,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0206,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 55.2,
"ER": 25,
"H": 44,
"BB": 31,
"SO": 54,
"HR": 8,
"ERA": 4.04191616766467,
"WHIP": 1.3473053892215567,
"K9": 8.730538922155688,
"HR9": 1.2934131736526946,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-28T00:00:00"
}{
"available": true,
"pitcher_id": "686613",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.29605869429095,
"release_spin_rate": 2200.9095575606843,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2961,
"release_spin_rate": 2200.9096,
"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.136,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9712,
"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": "686613",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 10.0,
"R": 10.0,
"H": 23.0,
"BB": 14.0,
"SO": 31.0,
"HR": 4.0,
"BF": 117.0,
"Pitches": 475.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 4.6,
"BB": 2.8,
"SO": 6.2,
"HR": 0.8,
"BF": 23.4,
"Pitches": 95.0
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.3059,
"ER_per_IP": 0.35294,
"H_per_IP": 0.81176,
"BB_per_IP": 0.49412,
"SO_per_IP": 1.09412,
"HR_per_IP": 0.14118
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.2,
"ER": 25.0,
"R": 26.0,
"H": 44.0,
"BB": 31.0,
"SO": 54.0,
"HR": 8.0,
"BF": 234.0,
"Pitches": 941.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5,
"R": 2.6,
"H": 4.4,
"BB": 3.1,
"SO": 5.4,
"HR": 0.8,
"BF": 23.4,
"Pitches": 94.1
},
"rates": {
"ERA": 4.0419,
"WHIP": 1.3473,
"ER_per_IP": 0.4491,
"H_per_IP": 0.79042,
"BB_per_IP": 0.55689,
"SO_per_IP": 0.97006,
"HR_per_IP": 0.14371
}
},
"season": {
"games": 15,
"totals": {
"IP": 81.0,
"ER": 30.0,
"R": 32.0,
"H": 61.0,
"BB": 44.0,
"SO": 86.0,
"HR": 10.0,
"BF": 340.0,
"Pitches": 1401.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.1333,
"H": 4.0667,
"BB": 2.9333,
"SO": 5.7333,
"HR": 0.6667,
"BF": 22.6667,
"Pitches": 93.4
},
"rates": {
"ERA": 3.3333,
"WHIP": 1.2963,
"ER_per_IP": 0.37037,
"H_per_IP": 0.75309,
"BB_per_IP": 0.54321,
"SO_per_IP": 1.06173,
"HR_per_IP": 0.12346
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.342,
"predicted_H": 4.705,
"predicted_BB": 2.736,
"predicted_SO": 5.717,
"predicted_HR": 0.789,
"predicted_ERA": 3.7526,
"predicted_WHIP": 1.3247
}
}{
"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": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.342,
"final": 2.6418,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.705,
"final": 5.295,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 2.736,
"final": 3.3119,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 5.717,
"final": 4.0234,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.789,
"final": 1.3408,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7526,
"final": 3.7526,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3247,
"final": 1.3247,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Abreu |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0494 |
| ESPN Rank | 213 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.9304 |
| Season WHIP | 1.3861 |
| Role Avg IP | 0.9750 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"opponent": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"edges": {
"quality_edge": -0.0898,
"offense_edge": 0.0051,
"opponent_offense_edge": 0.0555,
"defense_strength": -0.067,
"opponent_defense_weakness": -0.0134,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9922,
"run_prevention": 1.0201,
"strikeout": 0.9929
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650556",
"profile": {
"available": true,
"pitcher_id": "650556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 198.0,
"k_percent": 29.7,
"bb_percent": 17.0,
"woba": 0.326,
"xwoba": 0.317,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 40.7,
"avg_best_speed": 81.2761,
"avg_hyper_speed": 94.2401,
"whiff_percent": 34.9,
"swing_percent": 41.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2092,
"command_and_miss": 0.5914,
"regression_edge": 0.2571,
"xwoba_edge": -0.1714,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.4143,
"whiff_edge": 1.3857,
"bb_edge": -1.975,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "650556",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0494,
"sample_weight": 0.792,
"run_prevention_factor": 0.9958,
"strikeout_factor": 1.0792,
"walk_factor": 1.1251,
"homer_factor": 0.9989,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650556",
"espn_id": 41208,
"player_name": "Bryan Abreu",
"team": "HOU",
"role": "pitcher",
"espn_rank": 213,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 213,
"gp_value": 55.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.9303,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 8.0,
"sv_rank": 30,
"hld_value": 12.0,
"hld_rank": 54,
"ip_value": 52.2,
"ip_rank": 274,
"h_value": 36.0,
"h_rank": 347,
"er_value": 23.0,
"er_rank": 259,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 39.0,
"bb_rank": 82,
"k_value": 68.0,
"k_rank": 175,
"k_per_9_value": 11.620253,
"k_per_9_rank": 17,
"whip_value": 1.424,
"whip_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9967,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0991,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0627,
"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": 7,
"BB": 9,
"SO": 13,
"HR": 0,
"ERA": 2.53125,
"WHIP": 1.5,
"K9": 10.96875,
"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-31T00:00:00"
}{
"available": false,
"pitcher_id": "650556",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.586,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6792,
"prior_weight": 0.3208
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "650556",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 54,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 4.6,
"Pitches": 17.8
},
"rates": {
"ERA": 1.5882,
"WHIP": 1.4118,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.70588,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 9.0,
"SO": 13.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 189.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.9,
"SO": 1.3,
"HR": 0.0,
"BF": 4.7,
"Pitches": 18.9
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.5,
"ER_per_IP": 0.28125,
"H_per_IP": 0.65625,
"BB_per_IP": 0.84375,
"SO_per_IP": 1.21875,
"HR_per_IP": 0.0
}
},
"season": {
"games": 54,
"totals": {
"IP": 52.2,
"ER": 23.0,
"R": 24.0,
"H": 34.0,
"BB": 39.0,
"SO": 68.0,
"HR": 7.0,
"BF": 227.0,
"Pitches": 947.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4259,
"R": 0.4444,
"H": 0.6296,
"BB": 0.7222,
"SO": 1.2593,
"HR": 0.1296,
"BF": 4.2037,
"Pitches": 17.537
},
"rates": {
"ERA": 3.9304,
"WHIP": 1.3861,
"ER_per_IP": 0.43671,
"H_per_IP": 0.64557,
"BB_per_IP": 0.74051,
"SO_per_IP": 1.29114,
"HR_per_IP": 0.13291
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.34,
"predicted_H": 0.772,
"predicted_BB": 0.636,
"predicted_SO": 1.144,
"predicted_HR": 0.065,
"predicted_ERA": 3.0577,
"predicted_WHIP": 1.4074
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4855,
"form_weight": 0.5145,
"form_reliability": 0.6792,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.586,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6792,
"prior_weight": 0.3208
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.34,
"final": 0.1749,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.772,
"final": 0.3972,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.636,
"final": 0.3272,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.144,
"final": 1.0741,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.065,
"final": 0.0334,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0577,
"final": 3.0577,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4074,
"final": 1.4074,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Josh Hader |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5390 |
| ESPN Rank | 51 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 0.4821 |
| Season WHIP | 0.5893 |
| Role Avg IP | 1.0090 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"opponent": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"edges": {
"quality_edge": -0.0898,
"offense_edge": 0.0051,
"opponent_offense_edge": 0.0555,
"defense_strength": -0.067,
"opponent_defense_weakness": -0.0134,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9922,
"run_prevention": 1.0201,
"strikeout": 0.9929
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623352",
"profile": {
"available": true,
"pitcher_id": "623352",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 117.0,
"k_percent": 35.8,
"bb_percent": 8.0,
"woba": 0.164,
"xwoba": 0.213,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 33.8,
"avg_best_speed": 75.2643,
"avg_hyper_speed": 92.9774,
"whiff_percent": 36.0,
"swing_percent": 53.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.6155,
"command_and_miss": 1.4886,
"regression_edge": -1.4,
"xwoba_edge": 2.5,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.5714,
"whiff_edge": 1.5429,
"bb_edge": 0.275,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.539,
"sample_weight": 0.468,
"run_prevention_factor": 0.9542,
"strikeout_factor": 1.0661,
"walk_factor": 0.9897,
"homer_factor": 0.9584,
"woba_minus_xwoba": -0.049,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 51,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 51,
"gp_value": 38.0,
"gp_rank": 165,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 0.7232,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 22.0,
"sv_rank": 14,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 37.1,
"ip_rank": 374,
"h_value": 14.0,
"h_rank": 569,
"er_value": 3.0,
"er_rank": 698,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 11.0,
"bb_rank": 451,
"k_value": 49.0,
"k_rank": 284,
"k_per_9_value": 11.8125,
"k_per_9_rank": 20,
"whip_value": 0.6696,
"whip_rank": null,
"war_value": 2.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9786,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9786,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9952,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9805,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0309,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 0,
"H": 4,
"BB": 1,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.48387096774193555,
"K9": 9.580645161290324,
"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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.504,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6001,
"prior_weight": 0.3999
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "623352",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1875,
"ER_per_IP": 0.0,
"H_per_IP": 0.1875,
"BB_per_IP": 0.0,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.1,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4839,
"ER_per_IP": 0.0,
"H_per_IP": 0.3871,
"BB_per_IP": 0.09677,
"SO_per_IP": 1.06452,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 37.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 11.0,
"SO": 49.0,
"HR": 1.0,
"BF": 134.0,
"Pitches": 545.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0541,
"R": 0.0541,
"H": 0.2973,
"BB": 0.2973,
"SO": 1.3243,
"HR": 0.027,
"BF": 3.6216,
"Pitches": 14.7297
},
"rates": {
"ERA": 0.4821,
"WHIP": 0.5893,
"ER_per_IP": 0.05357,
"H_per_IP": 0.29464,
"BB_per_IP": 0.29464,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.02679
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.205,
"predicted_H": 0.556,
"predicted_BB": 0.204,
"predicted_SO": 1.06,
"predicted_HR": 0.062,
"predicted_ERA": 1.8487,
"predicted_WHIP": 0.7603
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.519,
"form_weight": 0.481,
"form_reliability": 0.6001,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.504,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6001,
"prior_weight": 0.3999
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.205,
"final": 0.0986,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.556,
"final": 0.2675,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.204,
"final": 0.0981,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.06,
"final": 1.0289,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0298,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.8487,
"final": 1.8487,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.7603,
"final": 0.7603,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Steven Okert |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5241 |
| ESPN Rank | 57 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.1281 |
| Season WHIP | 0.8719 |
| Role Avg IP | 1 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"opponent": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"edges": {
"quality_edge": -0.0898,
"offense_edge": 0.0051,
"opponent_offense_edge": 0.0555,
"defense_strength": -0.067,
"opponent_defense_weakness": -0.0134,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9922,
"run_prevention": 1.0201,
"strikeout": 0.9929
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "595345",
"profile": {
"available": true,
"pitcher_id": "595345",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 235.0,
"k_percent": 26.1,
"bb_percent": 5.4,
"woba": 0.252,
"xwoba": 0.274,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 35.4,
"avg_best_speed": 76.784,
"avg_hyper_speed": 93.3123,
"whiff_percent": 30.9,
"swing_percent": 50.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7643,
"command_and_miss": 0.74,
"regression_edge": -0.6286,
"xwoba_edge": 1.0571,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.8143,
"bb_edge": 0.925,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "595345",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5241,
"sample_weight": 0.94,
"run_prevention_factor": 0.9555,
"strikeout_factor": 1.0532,
"walk_factor": 0.9304,
"homer_factor": 0.9506,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "595345",
"espn_id": 33716,
"player_name": "Steven Okert",
"team": "HOU",
"role": "pitcher",
"espn_rank": 57,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 57,
"gp_value": 68.0,
"gp_rank": 5,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.128,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 21.0,
"hld_rank": 13,
"ip_value": 67.2,
"ip_rank": 182,
"h_value": 45.0,
"h_rank": 263,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 14.0,
"bb_rank": 385,
"k_value": 68.0,
"k_rank": 175,
"k_per_9_value": 9.044335,
"k_per_9_rank": 25,
"whip_value": 0.8719,
"whip_rank": null,
"war_value": 2.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9582,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9582,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9346,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9536,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.05,
"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": 2,
"H": 6,
"BB": 2,
"SO": 8,
"HR": 1,
"ERA": 1.9285714285714284,
"WHIP": 0.8571428571428571,
"K9": 7.7142857142857135,
"HR9": 0.9642857142857142,
"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-31T00:00:00"
}{
"available": false,
"pitcher_id": "595345",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7312,
"prior_weight": 0.2688
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "595345",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 68,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 68.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.6
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 139.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.1,
"BF": 3.5,
"Pitches": 13.9
},
"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.85714,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 68,
"totals": {
"IP": 67.2,
"ER": 16.0,
"R": 17.0,
"H": 45.0,
"BB": 14.0,
"SO": 68.0,
"HR": 7.0,
"BF": 261.0,
"Pitches": 1050.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2353,
"R": 0.25,
"H": 0.6618,
"BB": 0.2059,
"SO": 1.0,
"HR": 0.1029,
"BF": 3.8382,
"Pitches": 15.4412
},
"rates": {
"ERA": 2.1281,
"WHIP": 0.8719,
"ER_per_IP": 0.23645,
"H_per_IP": 0.66502,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.00493,
"HR_per_IP": 0.10345
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.345,
"predicted_H": 0.832,
"predicted_BB": 0.238,
"predicted_SO": 0.844,
"predicted_HR": 0.146,
"predicted_ERA": 3.4892,
"predicted_WHIP": 1.2016
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4636,
"form_weight": 0.5364,
"form_reliability": 0.7312,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7312,
"prior_weight": 0.2688
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.345,
"final": 0.6486,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.832,
"final": 0.9099,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.238,
"final": 0.5912,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.844,
"final": 0.9163,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.146,
"final": 0.0783,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4892,
"final": 3.4892,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2016,
"final": 1.2016,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | AJ Blubaugh |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0697 |
| ESPN Rank | 113 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0454 |
| Avg Velo | 90.6795 |
| Avg Spin | 2370.5863 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.0586 |
| Season WHIP | 1.1719 |
| Role Avg IP | 1.5420 |
| Recent Avg IP | 1.4670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 633.0,
"runs_allowed": 675.0,
"run_differential": -42.0,
"run_differential_per_game": -0.3,
"avg_runs_scored": 4.5214,
"avg_runs_allowed": 4.8214,
"offense_index": 1.0051,
"defense_index": 0.933,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 4.2,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0044
},
"opponent": {
"team": "CHW",
"games": 139,
"wins": 73,
"losses": 66,
"win_pct": 0.5252,
"runs_scored": 660.0,
"runs_allowed": 617.0,
"run_differential": 43.0,
"run_differential_per_game": 0.3094,
"avg_runs_scored": 4.7482,
"avg_runs_allowed": 4.4388,
"offense_index": 1.0555,
"defense_index": 1.0134,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 4.3,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0942
},
"edges": {
"quality_edge": -0.0898,
"offense_edge": 0.0051,
"opponent_offense_edge": 0.0555,
"defense_strength": -0.067,
"opponent_defense_weakness": -0.0134,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9922,
"run_prevention": 1.0201,
"strikeout": 0.9929
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "805123",
"profile": {
"available": true,
"pitcher_id": "805123",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 317.0,
"k_percent": 24.5,
"bb_percent": 10.0,
"woba": 0.291,
"xwoba": 0.304,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 37.3,
"avg_best_speed": 79.0602,
"avg_hyper_speed": 93.7404,
"whiff_percent": 29.0,
"swing_percent": 49.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0394,
"command_and_miss": 0.3121,
"regression_edge": -0.3714,
"xwoba_edge": 0.2,
"barrel_edge": -0.5333,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.5429,
"bb_edge": -0.225,
"pitch_design_score": 0.0454
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "805123",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.67948957386615,
"release_spin_rate": 2370.586325399728,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.67948957386615,
"release_spin_rate": 2370.586325399728,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6795,
"release_spin_rate": 2370.5863,
"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.0454,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3246,
"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.0697,
"sample_weight": 1.0,
"run_prevention_factor": 0.9941,
"strikeout_factor": 1.0366,
"walk_factor": 1.018,
"homer_factor": 1.0338,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805123",
"espn_id": 42556,
"player_name": "AJ Blubaugh",
"team": "HOU",
"role": "pitcher",
"espn_rank": 113,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 113,
"gp_value": 53.0,
"gp_rank": 74,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.0585,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 85.1,
"ip_rank": 144,
"h_value": 65.0,
"h_rank": 169,
"er_value": 29.0,
"er_rank": 186,
"hr_value": 10.0,
"hr_rank": 151,
"bb_value": 35.0,
"bb_rank": 116,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 9.0703125,
"k_per_9_rank": 24,
"whip_value": 1.1718,
"whip_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9941,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.018,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0338,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0366,
"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": 15.0,
"ER": 1,
"H": 11,
"BB": 2,
"SO": 13,
"HR": 1,
"ERA": 0.6,
"WHIP": 0.8666666666666667,
"K9": 7.8,
"HR9": 0.6,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "805123",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.67948957386615,
"release_spin_rate": 2370.586325399728,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.67948957386615,
"release_spin_rate": 2370.586325399728,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6795,
"release_spin_rate": 2370.5863,
"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.0454,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3246,
"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.152,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7743,
"prior_weight": 0.2257
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "805123",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 5.4,
"Pitches": 22.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9545,
"ER_per_IP": 0.0,
"H_per_IP": 0.68182,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.95455,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 1.0,
"R": 1.0,
"H": 11.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 210.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 1.1,
"BB": 0.2,
"SO": 1.3,
"HR": 0.1,
"BF": 5.4,
"Pitches": 21.0
},
"rates": {
"ERA": 0.6,
"WHIP": 0.8667,
"ER_per_IP": 0.06667,
"H_per_IP": 0.73333,
"BB_per_IP": 0.13333,
"SO_per_IP": 0.86667,
"HR_per_IP": 0.06667
}
},
"season": {
"games": 53,
"totals": {
"IP": 85.1,
"ER": 29.0,
"R": 31.0,
"H": 65.0,
"BB": 35.0,
"SO": 86.0,
"HR": 10.0,
"BF": 351.0,
"Pitches": 1444.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5472,
"R": 0.5849,
"H": 1.2264,
"BB": 0.6604,
"SO": 1.6226,
"HR": 0.1887,
"BF": 6.6226,
"Pitches": 27.2453
},
"rates": {
"ERA": 3.0586,
"WHIP": 1.1719,
"ER_per_IP": 0.33984,
"H_per_IP": 0.76172,
"BB_per_IP": 0.41016,
"SO_per_IP": 1.00781,
"HR_per_IP": 0.11719
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.212,
"predicted_H": 0.897,
"predicted_BB": 0.323,
"predicted_SO": 1.084,
"predicted_HR": 0.08,
"predicted_ERA": 1.647,
"predicted_WHIP": 1.0522
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4454,
"form_weight": 0.5546,
"form_reliability": 0.7743,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.152,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7743,
"prior_weight": 0.2257
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.212,
"final": 0.1176,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.897,
"final": 0.9429,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.323,
"final": 0.6245,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.084,
"final": 1.4919,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0444,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.647,
"final": 1.647,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0522,
"final": 1.0522,
"source": "form_only"
}
}
}{
"available": false,
"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 | 1.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | 0.826 | 1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.960 | 4.000 | 4.000 | Hitting_AB | 3.986 | 3.000 | 0.014 | 1.000 |
| predicted_AVG | 0.228 | 0.750 | 0.250 | Hitting_AVG | 0.252 | 0.000 | 0.498 | 0.750 |
| predicted_BB | 0.348 | 0.000 | 0.000 | Hitting_BB | 0.363 | 0.000 | -0.363 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.900 | 3.000 | 1.000 | Hitting_H | 1.005 | 0.000 | 1.995 | 3.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.298 | 0.600 | 0.250 | Hitting_OBP | 0.315 | 0.250 | 0.285 | 0.350 |
| predicted_R | 0.554 | 1.000 | 1.000 | Hitting_R | 0.605 | 1.000 | 0.395 | 0.000 |
| predicted_RBI | 0.390 | 2.000 | 0.000 | Hitting_RBI | 0.388 | 0.000 | 1.612 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_SLG | 0.350 | 1.000 | 0.250 | Hitting_SLG | 0.408 | 0.000 | 0.592 | 1.000 |
| predicted_SO | 0.866 | 1.000 | 1.000 | Hitting_SO | 0.858 | 0.000 | 0.142 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 7 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 2 |
| Better Metrics | 4 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9000 -> 3.0000 (boost 2.1000, better) |
| Biggest Deboost | predicted_BB: 0.3480 -> 0.0000 (deboost -0.3480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2980 -> 0.3039 (boost 0.0059, better) | predicted_AB: 3.9600 -> 3.8929 (deboost -0.0671, worse) | Final model input calibrated with local 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.3039 -> 0.2934 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.8652 -> 1.0000 (boost 0.1348, worse) | predicted_BB: 0.3540 -> 0.0000 (deboost -0.3540, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.225 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.185) |
| 6 | 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 |
| 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.3509 -> 0.3240 (deboost -0.0269, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3240 -> 0.3509 (boost 0.0269, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.018,
"predicted_AB": 3.96,
"predicted_AVG": 0.228,
"predicted_BB": 0.348,
"predicted_H": 0.9,
"predicted_HR": 0.09,
"predicted_OBP": 0.298,
"predicted_R": 0.554,
"predicted_RBI": 0.39,
"predicted_SLG": 0.35,
"predicted_SO": 0.866
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1679,
"predicted_3B": 0.015,
"predicted_AB": 3.8929,
"predicted_AVG": 0.2306,
"predicted_BB": 0.3549,
"predicted_H": 0.8957,
"predicted_HBP": 0.07,
"predicted_HR": 0.0926,
"predicted_OBP": 0.3039,
"predicted_R": 0.5605,
"predicted_RBI": 0.3541,
"predicted_SLG": 0.3551,
"predicted_SO": 0.863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.1679,
"delta": 0.0069,
"percent_delta": 0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.015,
"delta": -0.003,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.96,
"after": 3.8929,
"delta": -0.0671,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2306,
"delta": 0.0026,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.3549,
"delta": 0.0069,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8957,
"delta": -0.0043,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0926,
"delta": 0.0026,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3039,
"delta": 0.0059,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.5605,
"delta": 0.0065,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3541,
"delta": -0.0359,
"percent_delta": -0.0921,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3551,
"delta": 0.0051,
"percent_delta": 0.0146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 0.863,
"delta": -0.003,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_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.298,
"after": 0.3039,
"delta": 0.0059,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.96,
"after": 3.8929,
"delta": -0.0671,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 112
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1679,
"predicted_3B": 0.015,
"predicted_AB": 3.8929,
"predicted_AVG": 0.2291,
"predicted_BB": 0.354,
"predicted_H": 0.8919,
"predicted_HBP": 0.07,
"predicted_HR": 0.0921,
"predicted_OBP": 0.2934,
"predicted_R": 0.556,
"predicted_RBI": 0.3513,
"predicted_SLG": 0.3509,
"predicted_SO": 0.8652
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1679,
"after": 0.1679,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8929,
"after": 3.8929,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2306,
"after": 0.2291,
"delta": -0.0015,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3549,
"after": 0.354,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8957,
"after": 0.8919,
"delta": -0.0038,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0926,
"after": 0.0921,
"delta": -0.0005,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3039,
"after": 0.2934,
"delta": -0.0105,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5605,
"after": 0.556,
"delta": -0.0045,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3541,
"after": 0.3513,
"delta": -0.0028,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3551,
"after": 0.3509,
"delta": -0.0042,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.8652,
"delta": 0.0022,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3039,
"after": 0.2934,
"delta": -0.0105,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.96), rates preserved: AVG=0.225 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.1679,
"after": 0.0,
"delta": -0.1679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8929,
"after": 4.0,
"delta": 0.1071,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8919,
"after": 1.0,
"delta": 0.1081,
"percent_delta": 0.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0921,
"after": 0.0,
"delta": -0.0921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3513,
"after": 0.0,
"delta": -0.3513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8652,
"after": 1.0,
"delta": 0.1348,
"percent_delta": 0.1558,
"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.8652,
"after": 1.0,
"delta": 0.1348,
"percent_delta": 0.1558,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.185)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8105,
"bvp": 0.1895
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"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.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": 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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.218,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.276,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.324,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2291,
"after": 0.218,
"delta": -0.0111,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2934,
"after": 0.276,
"delta": -0.0174,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3509,
"after": 0.324,
"delta": -0.0269,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3509,
"after": 0.324,
"delta": -0.0269,
"percent_delta": -0.0767,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2291,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2934,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3509,
"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.218,
"after": 0.2291,
"delta": 0.0111,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2934,
"delta": 0.0174,
"percent_delta": 0.063,
"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": 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.324,
"after": 0.3509,
"delta": 0.0269,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.324,
"after": 0.3509,
"delta": 0.0269,
"percent_delta": 0.0832,
"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": 1.0,
"delta": 0.839,
"percent_delta": 5.2112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.96,
"after": 4.0,
"delta": 0.04,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2291,
"delta": 0.0011,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 3.0,
"delta": 2.1,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2934,
"delta": -0.0046,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 2.0,
"delta": 1.61,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3509,
"delta": 0.0009,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 1.0,
"delta": 0.134,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9,
"after": 3.0,
"delta": 2.1,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.018 | - |
| predicted_AB | 3.960 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.350 | - |
| predicted_SO | 0.866 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.007 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.893 | -0.067 |
| predicted_AVG | 0.231 | 0.003 |
| predicted_BB | 0.355 | 0.007 |
| predicted_H | 0.896 | -0.004 |
| predicted_HBP | 0.070 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.304 | 0.006 |
| predicted_R | 0.560 | 0.006 |
| predicted_RBI | 0.354 | -0.036 |
| predicted_SLG | 0.355 | 0.005 |
| predicted_SO | 0.863 | -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.168 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.893 | 0.000 |
| predicted_AVG | 0.229 | -0.002 |
| predicted_BB | 0.354 | -0.001 |
| predicted_H | 0.892 | -0.004 |
| predicted_HBP | 0.070 | 0.000 |
| predicted_HR | 0.092 | -0.001 |
| predicted_OBP | 0.293 | -0.011 |
| predicted_R | 0.556 | -0.004 |
| predicted_RBI | 0.351 | -0.003 |
| predicted_SLG | 0.351 | -0.004 |
| predicted_SO | 0.865 | 0.002 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.225 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.185)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.168 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.107 |
| predicted_AVG | 0.218 | -0.011 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.276 | -0.017 |
| predicted_R | 1.000 | 0.444 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.324 | -0.027 |
| predicted_SO | 1.000 | 0.135 |
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 | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 4.000 | 0.2222 | 0.3333 | 0.2778 | 0.2222 | 0.0000 | 0.0000 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 4.000 | 9.000 | 0.2105 | 0.3023 | 0.3421 | 0.2105 | 0.0263 | 0.1053 | 0.1053 | 0.2368 |
| season | 0.60 | 112 | - | 434.000 | 106.000 | 18.000 | 2.000 | 14.000 | 41.000 | 62.000 | 39.000 | 97.000 | 0.2442 | 0.3082 | 0.3917 | 0.2442 | 0.0323 | 0.0945 | 0.0899 | 0.2235 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.8050 |
| predicted_AVG | 0.2339 |
| predicted_BB | 0.3640 |
| predicted_H | 0.8900 |
| predicted_HBP | 0.0700 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.3117 |
| predicted_R | 0.5690 |
| predicted_RBI | 0.3070 |
| predicted_SLG | 0.3619 |
| predicted_SO | 0.8590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.1770 | 0.1679 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0150 | model_form_blend |
| predicted_AB | 3.9600 | 3.8050 | 3.8929 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2339 | 0.2306 | model_form_blend |
| predicted_BB | 0.3480 | 0.3640 | 0.3549 | model_form_blend |
| predicted_H | 0.9000 | 0.8900 | 0.8957 | model_form_blend |
| predicted_HBP | - | 0.0700 | 0.0700 | form_only |
| predicted_HR | 0.0900 | 0.0960 | 0.0926 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3117 | 0.3039 | model_form_blend |
| predicted_R | 0.5540 | 0.5690 | 0.5605 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3070 | 0.3541 | model_form_blend |
| predicted_SLG | 0.3500 | 0.3619 | 0.3551 | model_form_blend |
| predicted_SO | 0.8660 | 0.8590 | 0.8630 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 443 |
| Season rows before report date | 443 |
| Report year | 2026 |
| Profile rows used | 112 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| 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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 514888 |
| playerID | 514888 |
| playerName | Jose Altuve |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.309 |
| sl_xwoba | 0.275 |
| sl_xba | 0.222 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 32.6 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.212 | 0.000 | 0.000 | Hitting_2B | 0.214 | 1.000 | -0.214 | -1.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_AB | 3.990 | 5.000 | 4.000 | Hitting_AB | 3.692 | 4.000 | 1.308 | 1.000 |
| predicted_AVG | 0.342 | 0.400 | 0.250 | Hitting_AVG | 0.332 | 0.500 | 0.068 | -0.100 |
| predicted_BB | 0.701 | 0.000 | 1.000 | Hitting_BB | 0.743 | 0.000 | -0.743 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.360 | 2.000 | 1.000 | Hitting_H | 1.226 | 2.000 | 0.774 | 0.000 |
| predicted_HR | 0.270 | 0.000 | 1.000 | Hitting_HR | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_OBP | 0.440 | 0.400 | 0.400 | Hitting_OBP | 0.448 | 0.500 | -0.048 | -0.100 |
| predicted_R | 0.664 | 0.000 | 1.000 | Hitting_R | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.743 | 0.000 | -0.743 | 0.000 |
| predicted_SLG | 0.600 | 0.400 | 1.000 | Hitting_SLG | 0.639 | 0.750 | -0.239 | -0.350 |
| predicted_SO | 0.752 | 1.000 | 1.000 | Hitting_SO | 0.758 | 0.000 | 0.242 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.9900 -> 5.0000 (boost 1.0100, better) |
| Biggest Deboost | predicted_BB: 0.7010 -> 0.0000 (deboost -0.7010, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.9900 -> 3.7868 (deboost -0.2032, worse) | Final model input calibrated with local 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 | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.6361 -> 1.0000 (boost 0.3639, better) | predicted_HR: 0.2456 -> 0.0000 (deboost -0.2456, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.309 HR/AB=0.062 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6279 -> 1.0000 (boost 0.3721, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 | 3 | 1 | 3 | 1 | predicted_SLG: 0.5809 -> 0.6640 (boost 0.0831, 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 | 5 | 2 | 3 | 2 | 3 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6640 -> 0.5809 (deboost -0.0831, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.007,
"predicted_AB": 3.99,
"predicted_AVG": 0.342,
"predicted_BB": 0.701,
"predicted_H": 1.36,
"predicted_HR": 0.27,
"predicted_OBP": 0.44,
"predicted_R": 0.664,
"predicted_RBI": 0.67,
"predicted_SLG": 0.6,
"predicted_SO": 0.752
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2007,
"predicted_3B": 0.0148,
"predicted_AB": 3.7868,
"predicted_AVG": 0.3266,
"predicted_BB": 0.6927,
"predicted_H": 1.2379,
"predicted_HBP": 0.058,
"predicted_HR": 0.2469,
"predicted_OBP": 0.4306,
"predicted_R": 0.633,
"predicted_RBI": 0.6412,
"predicted_SLG": 0.5816,
"predicted_SO": 0.7537
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.2007,
"delta": -0.0113,
"percent_delta": -0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0148,
"delta": 0.0078,
"percent_delta": 1.1143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.7868,
"delta": -0.2032,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.342,
"after": 0.3266,
"delta": -0.0154,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.701,
"after": 0.6927,
"delta": -0.0083,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.36,
"after": 1.2379,
"delta": -0.1221,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.2469,
"delta": -0.0231,
"percent_delta": -0.0856,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.44,
"after": 0.4306,
"delta": -0.0094,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 0.633,
"delta": -0.031,
"percent_delta": -0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.6412,
"delta": -0.0288,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6,
"after": 0.5816,
"delta": -0.0184,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.7537,
"delta": 0.0017,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.7868,
"delta": -0.2032,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 137
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2007,
"predicted_3B": 0.0148,
"predicted_AB": 3.7868,
"predicted_AVG": 0.3255,
"predicted_BB": 0.691,
"predicted_H": 1.2327,
"predicted_HBP": 0.058,
"predicted_HR": 0.2456,
"predicted_OBP": 0.4296,
"predicted_R": 0.6279,
"predicted_RBI": 0.6361,
"predicted_SLG": 0.5809,
"predicted_SO": 0.7556
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2007,
"after": 0.2007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0148,
"after": 0.0148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7868,
"after": 3.7868,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3266,
"after": 0.3255,
"delta": -0.0011,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6927,
"after": 0.691,
"delta": -0.0017,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2379,
"after": 1.2327,
"delta": -0.0052,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2469,
"after": 0.2456,
"delta": -0.0013,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4306,
"after": 0.4296,
"delta": -0.001,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.633,
"after": 0.6279,
"delta": -0.0051,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6412,
"after": 0.6361,
"delta": -0.0051,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5816,
"after": 0.5809,
"delta": -0.0007,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7537,
"after": 0.7556,
"delta": 0.0019,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.309 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2007,
"after": 0.0,
"delta": -0.2007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0148,
"after": 0.0,
"delta": -0.0148,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7868,
"after": 4.0,
"delta": 0.2132,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.691,
"after": 1.0,
"delta": 0.309,
"percent_delta": 0.4472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2327,
"after": 1.0,
"delta": -0.2327,
"percent_delta": -0.1888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2456,
"after": 0.0,
"delta": -0.2456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6361,
"after": 1.0,
"delta": 0.3639,
"percent_delta": 0.5721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7556,
"after": 1.0,
"delta": 0.2444,
"percent_delta": 0.3235,
"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.6361,
"after": 1.0,
"delta": 0.3639,
"percent_delta": 0.5721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2456,
"after": 0.0,
"delta": -0.2456,
"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=24.0, weight=0.178, BvP AVG=0.500)",
"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.8222,
"bvp": 0.1778
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6279,
"after": 1.0,
"delta": 0.3721,
"percent_delta": 0.5926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6279,
"after": 1.0,
"delta": 0.3721,
"percent_delta": 0.5926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.343,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.44,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.664,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3255,
"after": 0.343,
"delta": 0.0175,
"percent_delta": 0.0538,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.4296,
"after": 0.44,
"delta": 0.0104,
"percent_delta": 0.0242,
"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.5809,
"after": 0.664,
"delta": 0.0831,
"percent_delta": 0.1431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.5809,
"after": 0.664,
"delta": 0.0831,
"percent_delta": 0.1431,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.3255,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4296,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5809,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.343,
"after": 0.3255,
"delta": -0.0175,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.44,
"after": 0.4296,
"delta": -0.0104,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.664,
"after": 0.5809,
"delta": -0.0831,
"percent_delta": -0.1251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.664,
"after": 0.5809,
"delta": -0.0831,
"percent_delta": -0.1251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 5.0,
"delta": 1.01,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.342,
"after": 0.3255,
"delta": -0.0165,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.36,
"after": 2.0,
"delta": 0.64,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.44,
"after": 0.4296,
"delta": -0.0104,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 0.0,
"delta": -0.664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6,
"after": 0.5809,
"delta": -0.0191,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 5.0,
"delta": 1.01,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.342 | - |
| predicted_BB | 0.701 | - |
| predicted_H | 1.360 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.440 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.600 | - |
| predicted_SO | 0.752 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.015 | 0.008 |
| predicted_AB | 3.787 | -0.203 |
| predicted_AVG | 0.327 | -0.015 |
| predicted_BB | 0.693 | -0.008 |
| predicted_H | 1.238 | -0.122 |
| predicted_HBP | 0.058 | - |
| predicted_HR | 0.247 | -0.023 |
| predicted_OBP | 0.431 | -0.009 |
| predicted_R | 0.633 | -0.031 |
| predicted_RBI | 0.641 | -0.029 |
| predicted_SLG | 0.582 | -0.018 |
| predicted_SO | 0.754 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.201 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.787 | 0.000 |
| predicted_AVG | 0.326 | -0.001 |
| predicted_BB | 0.691 | -0.002 |
| predicted_H | 1.233 | -0.005 |
| predicted_HBP | 0.058 | 0.000 |
| predicted_HR | 0.246 | -0.001 |
| predicted_OBP | 0.430 | -0.001 |
| predicted_R | 0.628 | -0.005 |
| predicted_RBI | 0.636 | -0.005 |
| predicted_SLG | 0.581 | -0.001 |
| predicted_SO | 0.756 | 0.002 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.309 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.500)
| 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.201 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.213 |
| predicted_AVG | 0.343 | 0.018 |
| predicted_BB | 1.000 | 0.309 |
| predicted_H | 1.000 | -0.233 |
| predicted_HR | 0.000 | -0.246 |
| predicted_OBP | 0.440 | 0.010 |
| predicted_R | 1.000 | 0.372 |
| predicted_RBI | 1.000 | 0.364 |
| predicted_SLG | 0.664 | 0.083 |
| predicted_SO | 1.000 | 0.244 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 3.000 | 0.2941 | 0.3810 | 0.5294 | 0.2941 | 0.0588 | 0.1765 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 1.000 | 1.000 | 1.000 | 4.000 | 6.000 | 8.000 | 9.000 | 0.2941 | 0.4318 | 0.4706 | 0.2941 | 0.0294 | 0.1177 | 0.2353 | 0.2647 |
| season | 0.60 | 137 | - | 491.000 | 157.000 | 29.000 | 1.000 | 37.000 | 94.000 | 91.000 | 96.000 | 103.000 | 0.3198 | 0.4359 | 0.6090 | 0.3198 | 0.0754 | 0.1915 | 0.1955 | 0.2098 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.5240 |
| predicted_AVG | 0.3066 |
| predicted_BB | 0.6820 |
| predicted_H | 1.0800 |
| predicted_HBP | 0.0580 |
| predicted_HR | 0.2170 |
| predicted_OBP | 0.4185 |
| predicted_R | 0.5930 |
| predicted_RBI | 0.6040 |
| predicted_SLG | 0.5579 |
| predicted_SO | 0.7560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.1860 | 0.2007 | model_form_blend |
| predicted_3B | 0.0070 | 0.0250 | 0.0148 | model_form_blend |
| predicted_AB | 3.9900 | 3.5240 | 3.7868 | model_form_blend |
| predicted_AVG | 0.3420 | 0.3066 | 0.3266 | model_form_blend |
| predicted_BB | 0.7010 | 0.6820 | 0.6927 | model_form_blend |
| predicted_H | 1.3600 | 1.0800 | 1.2379 | model_form_blend |
| predicted_HBP | - | 0.0580 | 0.0580 | form_only |
| predicted_HR | 0.2700 | 0.2170 | 0.2469 | model_form_blend |
| predicted_OBP | 0.4400 | 0.4185 | 0.4306 | model_form_blend |
| predicted_R | 0.6640 | 0.5930 | 0.6330 | model_form_blend |
| predicted_RBI | 0.6700 | 0.6040 | 0.6412 | model_form_blend |
| predicted_SLG | 0.6000 | 0.5579 | 0.5816 | model_form_blend |
| predicted_SO | 0.7520 | 0.7560 | 0.7537 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 561 |
| Season rows before report date | 561 |
| Report year | 2026 |
| Profile rows used | 137 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 15.9 |
| sl_woba | 0.431 |
| sl_xwoba | 0.451 |
| sl_xba | 0.324 |
| sl_xslg | 0.656 |
| sl_sweet_spot_percent | 41.5 |
| sl_barrel_batted_rate | 16.5 |
| sl_hard_hit_percent | 53.7 |
| sl_exit_velocity_avg | 94.5 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.180 | 0.000 | 1.000 | Hitting_2B | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 4.670 | 4.000 | 5.000 | Hitting_AB | 4.140 | 4.000 | -0.140 | 0.000 |
| predicted_AVG | 0.250 | 0.750 | 0.200 | Hitting_AVG | 0.288 | 0.250 | 0.462 | 0.500 |
| predicted_BB | 0.258 | 1.000 | 0.000 | Hitting_BB | 0.288 | 0.000 | 0.712 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 1.170 | 3.000 | 1.000 | Hitting_H | 1.191 | 1.000 | 1.809 | 2.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_OBP | 0.311 | 0.800 | 0.200 | Hitting_OBP | 0.344 | 0.250 | 0.456 | 0.550 |
| predicted_R | 0.753 | 1.000 | 1.000 | Hitting_R | 0.812 | 0.000 | 0.188 | 1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SLG | 0.432 | 0.750 | 0.400 | Hitting_SLG | 0.478 | 0.250 | 0.272 | 0.500 |
| predicted_SO | 0.955 | 0.000 | 1.000 | Hitting_SO | 0.912 | 0.000 | -0.912 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.1700 -> 3.0000 (boost 1.8300, better) |
| Biggest Deboost | predicted_SO: 0.9550 -> 0.0000 (deboost -0.9550, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4320 -> 0.4512 (boost 0.0192, better) | predicted_AB: 4.6700 -> 4.3843 (deboost -0.2857, worse) | Final model input calibrated with local 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.3152 -> 0.2972 (deboost -0.0180, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_AB: 4.3843 -> 5.0000 (boost 0.6157, better) | predicted_BB: 0.2488 -> 0.0000 (deboost -0.2488, worse) | AB rounded to 5 (raw=4.67), rates preserved: AVG=0.242 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.346) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7146 -> 1.0000 (boost 0.2854, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 | 2 | 0 | 2 | 0 | 2 | - | 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 | 5 | 2 | 3 | 3 | 2 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4070 -> 0.4378 (boost 0.0308, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665161",
"player_name": "Jeremy Peña",
"position": "SS",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.011,
"predicted_AB": 4.67,
"predicted_AVG": 0.25,
"predicted_BB": 0.258,
"predicted_H": 1.17,
"predicted_HR": 0.19,
"predicted_OBP": 0.311,
"predicted_R": 0.753,
"predicted_RBI": 0.53,
"predicted_SLG": 0.432,
"predicted_SO": 0.955
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.0093,
"predicted_AB": 4.3843,
"predicted_AVG": 0.2588,
"predicted_BB": 0.2494,
"predicted_H": 1.1327,
"predicted_HBP": 0.064,
"predicted_HR": 0.1977,
"predicted_OBP": 0.3152,
"predicted_R": 0.7204,
"predicted_RBI": 0.5128,
"predicted_SLG": 0.4512,
"predicted_SO": 0.9662
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.183,
"delta": 0.003,
"percent_delta": 0.0167,
"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.67,
"after": 4.3843,
"delta": -0.2857,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2588,
"delta": 0.0088,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.2494,
"delta": -0.0086,
"percent_delta": -0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.1327,
"delta": -0.0373,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1977,
"delta": 0.0077,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3152,
"delta": 0.0042,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.753,
"after": 0.7204,
"delta": -0.0326,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5128,
"delta": -0.0172,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4512,
"delta": 0.0192,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 0.9662,
"delta": 0.0112,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_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.432,
"after": 0.4512,
"delta": 0.0192,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.67,
"after": 4.3843,
"delta": -0.2857,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.183,
"predicted_3B": 0.0093,
"predicted_AB": 4.3843,
"predicted_AVG": 0.2573,
"predicted_BB": 0.2488,
"predicted_H": 1.1279,
"predicted_HBP": 0.064,
"predicted_HR": 0.1967,
"predicted_OBP": 0.2972,
"predicted_R": 0.7146,
"predicted_RBI": 0.5087,
"predicted_SLG": 0.4378,
"predicted_SO": 0.9686
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.183,
"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.3843,
"after": 4.3843,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2588,
"after": 0.2573,
"delta": -0.0015,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2494,
"after": 0.2488,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1327,
"after": 1.1279,
"delta": -0.0048,
"percent_delta": -0.0042,
"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.1977,
"after": 0.1967,
"delta": -0.001,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3152,
"after": 0.2972,
"delta": -0.018,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7204,
"after": 0.7146,
"delta": -0.0058,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5128,
"after": 0.5087,
"delta": -0.0041,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4512,
"after": 0.4378,
"delta": -0.0134,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9662,
"after": 0.9686,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3152,
"after": 0.2972,
"delta": -0.018,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.67), rates preserved: AVG=0.242 HR/AB=0.042",
"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.183,
"after": 0.0,
"delta": -0.183,
"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.3843,
"after": 5.0,
"delta": 0.6157,
"percent_delta": 0.1404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2488,
"after": 0.0,
"delta": -0.2488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1279,
"after": 1.0,
"delta": -0.1279,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1967,
"after": 0.0,
"delta": -0.1967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5087,
"after": 1.0,
"delta": 0.4913,
"percent_delta": 0.9658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9686,
"after": 1.0,
"delta": 0.0314,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3843,
"after": 5.0,
"delta": 0.6157,
"percent_delta": 0.1404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2488,
"after": 0.0,
"delta": -0.2488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.346)",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.8143,
"bvp": 0.1857
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.7146,
"after": 1.0,
"delta": 0.2854,
"percent_delta": 0.3994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.7146,
"after": 1.0,
"delta": 0.2854,
"percent_delta": 0.3994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.261,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.407,
"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.2573,
"after": 0.261,
"delta": 0.0037,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2972,
"after": 0.297,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4378,
"after": 0.407,
"delta": -0.0308,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"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_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.2573,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2972,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4378,
"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.261,
"after": 0.2573,
"delta": -0.0037,
"percent_delta": -0.0143,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2972,
"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.407,
"after": 0.4378,
"delta": 0.0308,
"percent_delta": 0.0757,
"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_SLG",
"before": 0.407,
"after": 0.4378,
"delta": 0.0308,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"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.67,
"after": 4.0,
"delta": -0.67,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2573,
"delta": 0.0073,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 1.0,
"delta": 0.742,
"percent_delta": 2.876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 3.0,
"delta": 1.83,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2972,
"delta": -0.0138,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.753,
"after": 1.0,
"delta": 0.247,
"percent_delta": 0.328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4378,
"delta": 0.0058,
"percent_delta": 0.0134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 0.0,
"delta": -0.955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.17,
"after": 3.0,
"delta": 1.83,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.955,
"after": 0.0,
"delta": -0.955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.670 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.753 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.955 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.003 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 4.384 | -0.286 |
| predicted_AVG | 0.259 | 0.009 |
| predicted_BB | 0.249 | -0.009 |
| predicted_H | 1.133 | -0.037 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.198 | 0.008 |
| predicted_OBP | 0.315 | 0.004 |
| predicted_R | 0.720 | -0.033 |
| predicted_RBI | 0.513 | -0.017 |
| predicted_SLG | 0.451 | 0.019 |
| predicted_SO | 0.966 | 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.183 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.384 | 0.000 |
| predicted_AVG | 0.257 | -0.002 |
| predicted_BB | 0.249 | -0.001 |
| predicted_H | 1.128 | -0.005 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.197 | -0.001 |
| predicted_OBP | 0.297 | -0.018 |
| predicted_R | 0.715 | -0.006 |
| predicted_RBI | 0.509 | -0.004 |
| predicted_SLG | 0.438 | -0.013 |
| predicted_SO | 0.969 | 0.002 |
AB rounded to 5 (raw=4.67), rates preserved: AVG=0.242 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.346)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 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 | 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.183 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.616 |
| predicted_AVG | 0.261 | 0.004 |
| predicted_BB | 0.000 | -0.249 |
| predicted_H | 1.000 | -0.128 |
| predicted_HR | 0.000 | -0.197 |
| predicted_OBP | 0.297 | -0.000 |
| predicted_R | 1.000 | 0.285 |
| predicted_RBI | 1.000 | 0.491 |
| predicted_SLG | 0.407 | -0.031 |
| predicted_SO | 1.000 | 0.031 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | - | 20.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.2500 | 0.2857 | 0.4500 | 0.2500 | 0.0500 | 0.1000 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 2.000 | 0.000 | 3.000 | 5.000 | 8.000 | 2.000 | 13.000 | 0.2683 | 0.3182 | 0.5366 | 0.2683 | 0.0732 | 0.1220 | 0.0488 | 0.3171 |
| season | 0.60 | 89 | - | 356.000 | 100.000 | 16.000 | 1.000 | 17.000 | 46.000 | 67.000 | 23.000 | 85.000 | 0.2809 | 0.3351 | 0.4747 | 0.2809 | 0.0478 | 0.1292 | 0.0646 | 0.2388 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1870 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.0040 |
| predicted_AVG | 0.2705 |
| predicted_BB | 0.2380 |
| predicted_H | 1.0830 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.2080 |
| predicted_OBP | 0.3207 |
| predicted_R | 0.6770 |
| predicted_RBI | 0.4900 |
| predicted_SLG | 0.4768 |
| predicted_SO | 0.9810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1870 | 0.1830 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.6700 | 4.0040 | 4.3843 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2705 | 0.2588 | model_form_blend |
| predicted_BB | 0.2580 | 0.2380 | 0.2494 | model_form_blend |
| predicted_H | 1.1700 | 1.0830 | 1.1327 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1900 | 0.2080 | 0.1977 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3207 | 0.3152 | model_form_blend |
| predicted_R | 0.7530 | 0.6770 | 0.7204 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4900 | 0.5128 | model_form_blend |
| predicted_SLG | 0.4320 | 0.4768 | 0.4512 | model_form_blend |
| predicted_SO | 0.9550 | 0.9810 | 0.9662 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 351 |
| Season rows before report date | 351 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 3 |
| 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 | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 665161 |
| playerID | 665161 |
| playerName | Jeremy Peña |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.352 |
| sl_xwoba | 0.333 |
| sl_xba | 0.276 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 54.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.093 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 2.773 | 4.000 | 3.000 | Hitting_AB | 3.063 | 2.000 | 0.937 | 2.000 |
| predicted_AVG | 0.207 | 0.000 | 0.333 | Hitting_AVG | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.573 | 0.000 | 1.000 | Hitting_H | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_HR | 0.093 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.276 | 0.000 | 0.333 | Hitting_OBP | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_RBI | 0.267 | 0.000 | 0.000 | Hitting_RBI | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_SLG | 0.361 | 0.000 | 0.333 | Hitting_SLG | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_SO | 0.960 | 4.000 | 1.000 | Hitting_SO | 1.041 | 1.000 | 2.959 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9600 -> 4.0000 (boost 3.0400, worse) |
| Biggest Deboost | predicted_H: 0.5730 -> 0.0000 (deboost -0.5730, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9600 -> 0.8850 (deboost -0.0750, 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_H: 0.5585 -> 1.0000 (boost 0.4415, better) | predicted_BB: 0.2572 -> 0.0000 (deboost -0.2572, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.201 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2820 -> 0.0000 (deboost -0.2820, 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 | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "666211",
"player_name": "Taylor Trammell",
"position": "RF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.027,
"predicted_AB": 2.773,
"predicted_AVG": 0.207,
"predicted_BB": 0.267,
"predicted_H": 0.573,
"predicted_HR": 0.093,
"predicted_OBP": 0.276,
"predicted_R": 0.333,
"predicted_RBI": 0.267,
"predicted_SLG": 0.361,
"predicted_SO": 0.96
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1063,
"predicted_3B": 0.022,
"predicted_AB": 2.7601,
"predicted_AVG": 0.2035,
"predicted_BB": 0.2578,
"predicted_H": 0.5609,
"predicted_HBP": 0.024,
"predicted_HR": 0.0793,
"predicted_OBP": 0.2736,
"predicted_R": 0.2843,
"predicted_RBI": 0.2308,
"predicted_SLG": 0.3443,
"predicted_SO": 0.885
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.1063,
"delta": 0.0133,
"percent_delta": 0.143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.022,
"delta": -0.005,
"percent_delta": -0.1852,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.773,
"after": 2.7601,
"delta": -0.0129,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2035,
"delta": -0.0035,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.2578,
"delta": -0.0092,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.573,
"after": 0.5609,
"delta": -0.0121,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.093,
"after": 0.0793,
"delta": -0.0137,
"percent_delta": -0.1473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2736,
"delta": -0.0024,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.2843,
"delta": -0.0487,
"percent_delta": -0.1462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 0.2308,
"delta": -0.0362,
"percent_delta": -0.1356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3443,
"delta": -0.0167,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.96,
"after": 0.885,
"delta": -0.075,
"percent_delta": -0.0781,
"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.96,
"after": 0.885,
"delta": -0.075,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 75
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1063,
"predicted_3B": 0.022,
"predicted_AB": 2.7601,
"predicted_AVG": 0.2024,
"predicted_BB": 0.2572,
"predicted_H": 0.5585,
"predicted_HBP": 0.024,
"predicted_HR": 0.0789,
"predicted_OBP": 0.2703,
"predicted_R": 0.282,
"predicted_RBI": 0.229,
"predicted_SLG": 0.3426,
"predicted_SO": 0.8872
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1063,
"after": 0.1063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7601,
"after": 2.7601,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2035,
"after": 0.2024,
"delta": -0.0011,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2578,
"after": 0.2572,
"delta": -0.0006,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5609,
"after": 0.5585,
"delta": -0.0024,
"percent_delta": -0.0043,
"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.0793,
"after": 0.0789,
"delta": -0.0004,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2736,
"after": 0.2703,
"delta": -0.0033,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2843,
"after": 0.282,
"delta": -0.0023,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2308,
"after": 0.229,
"delta": -0.0018,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3443,
"after": 0.3426,
"delta": -0.0017,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 0.8872,
"delta": 0.0022,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.201 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1063,
"after": 0.0,
"delta": -0.1063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7601,
"after": 3.0,
"delta": 0.2399,
"percent_delta": 0.0869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2572,
"after": 0.0,
"delta": -0.2572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5585,
"after": 1.0,
"delta": 0.4415,
"percent_delta": 0.7905,
"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.0789,
"after": 0.0,
"delta": -0.0789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8872,
"after": 1.0,
"delta": 0.1128,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5585,
"after": 1.0,
"delta": 0.4415,
"percent_delta": 0.7905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2572,
"after": 0.0,
"delta": -0.2572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"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.201,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.341,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2024,
"after": 0.201,
"delta": -0.0014,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2703,
"after": 0.275,
"delta": 0.0047,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3426,
"after": 0.341,
"delta": -0.0016,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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": 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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2024,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2703,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3426,
"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.201,
"after": 0.2024,
"delta": 0.0014,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2703,
"delta": -0.0047,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3426,
"delta": 0.0016,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "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.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.773,
"after": 4.0,
"delta": 1.227,
"percent_delta": 0.4425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2024,
"delta": -0.0046,
"percent_delta": -0.0222,
"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.573,
"after": 0.0,
"delta": -0.573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2703,
"delta": -0.0057,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3426,
"delta": -0.0184,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.96,
"after": 4.0,
"delta": 3.04,
"percent_delta": 3.1667,
"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.96,
"after": 4.0,
"delta": 3.04,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.573,
"after": 0.0,
"delta": -0.573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.027 | - |
| predicted_AB | 2.773 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.573 | - |
| predicted_HR | 0.093 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.267 | - |
| predicted_SLG | 0.361 | - |
| predicted_SO | 0.960 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.106 | 0.013 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 2.760 | -0.013 |
| predicted_AVG | 0.203 | -0.004 |
| predicted_BB | 0.258 | -0.009 |
| predicted_H | 0.561 | -0.012 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.079 | -0.014 |
| predicted_OBP | 0.274 | -0.002 |
| predicted_R | 0.284 | -0.049 |
| predicted_RBI | 0.231 | -0.036 |
| predicted_SLG | 0.344 | -0.017 |
| predicted_SO | 0.885 | -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.106 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.760 | 0.000 |
| predicted_AVG | 0.202 | -0.001 |
| predicted_BB | 0.257 | -0.001 |
| predicted_H | 0.558 | -0.002 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.079 | -0.000 |
| predicted_OBP | 0.270 | -0.003 |
| predicted_R | 0.282 | -0.002 |
| predicted_RBI | 0.229 | -0.002 |
| predicted_SLG | 0.343 | -0.002 |
| predicted_SO | 0.887 | 0.002 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.201 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.106 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.240 |
| predicted_AVG | 0.201 | -0.001 |
| predicted_BB | 0.000 | -0.257 |
| predicted_H | 1.000 | 0.442 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.275 | 0.005 |
| predicted_R | 0.000 | -0.282 |
| predicted_RBI | 0.000 | -0.229 |
| predicted_SLG | 0.341 | -0.002 |
| predicted_SO | 1.000 | 0.113 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 12.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.1667 | 0.2308 | 0.2500 | 0.1667 | 0.0000 | 0.0000 | 0.0833 | 0.2500 |
| last_10 | 0.20 | 10 | - | 23.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.1739 | 0.2400 | 0.2174 | 0.1739 | 0.0000 | 0.0000 | 0.0870 | 0.1739 |
| season | 0.60 | 75 | - | 208.000 | 43.000 | 7.000 | 2.000 | 7.000 | 20.000 | 25.000 | 20.000 | 72.000 | 0.2067 | 0.2857 | 0.3606 | 0.2067 | 0.0336 | 0.0961 | 0.0961 | 0.3462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.7420 |
| predicted_AVG | 0.1986 |
| predicted_BB | 0.2450 |
| predicted_H | 0.5440 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2702 |
| predicted_R | 0.2160 |
| predicted_RBI | 0.1800 |
| predicted_SLG | 0.3210 |
| predicted_SO | 0.7800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.1250 | 0.1063 | model_form_blend |
| predicted_3B | 0.0270 | 0.0150 | 0.0220 | model_form_blend |
| predicted_AB | 2.7730 | 2.7420 | 2.7601 | model_form_blend |
| predicted_AVG | 0.2070 | 0.1986 | 0.2035 | model_form_blend |
| predicted_BB | 0.2670 | 0.2450 | 0.2578 | model_form_blend |
| predicted_H | 0.5730 | 0.5440 | 0.5609 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0930 | 0.0600 | 0.0793 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2702 | 0.2736 | model_form_blend |
| predicted_R | 0.3330 | 0.2160 | 0.2843 | model_form_blend |
| predicted_RBI | 0.2670 | 0.1800 | 0.2308 | model_form_blend |
| predicted_SLG | 0.3610 | 0.3210 | 0.3443 | model_form_blend |
| predicted_SO | 0.9600 | 0.7800 | 0.8850 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 221 |
| Season rows before report date | 221 |
| Report year | 2026 |
| Profile rows used | 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 | 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 666211 |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.29 |
| sl_xwoba | 0.29 |
| sl_xba | 0.193 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 37.9 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 1.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.940 | 5.000 | 4.000 | Hitting_AB | 3.763 | 3.000 | 1.237 | 2.000 |
| predicted_AVG | 0.213 | 0.200 | 0.250 | Hitting_AVG | 0.260 | 0.333 | -0.060 | -0.133 |
| predicted_BB | 0.455 | 0.000 | 1.000 | Hitting_BB | 0.446 | 1.000 | -0.446 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 0.977 | 1.000 | 0.023 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.333 | 0.200 | 0.400 | Hitting_OBP | 0.357 | 0.500 | -0.157 | -0.300 |
| predicted_R | 0.417 | 0.000 | 0.000 | Hitting_R | 0.435 | 1.000 | -0.435 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.602 | 0.000 | -0.602 | 0.000 |
| predicted_SLG | 0.372 | 0.400 | 0.250 | Hitting_SLG | 0.423 | 0.333 | -0.023 | 0.067 |
| predicted_SO | 0.553 | 1.000 | 1.000 | Hitting_SO | 0.583 | 0.000 | 0.417 | 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.9400 -> 5.0000 (boost 1.0600, better) |
| Biggest Deboost | predicted_BB: 0.4550 -> 0.0000 (deboost -0.4550, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.4170 -> 0.4757 (boost 0.0587, better) | predicted_AB: 3.9400 -> 3.7790 (deboost -0.1610, worse) | Final model input calibrated with local 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.3378 -> 0.3115 (deboost -0.0263, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.5107 -> 1.0000 (boost 0.4893, better) | predicted_RBI: 0.4671 -> 0.0000 (deboost -0.4671, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.210 HR/AB=0.038 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4719 -> 0.0000 (deboost -0.4719, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | 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 |
| 9 | 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 |
| 10 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3720 -> 0.3780 (boost 0.0060, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670623",
"player_name": "Isaac Paredes",
"position": "3B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.008,
"predicted_AB": 3.94,
"predicted_AVG": 0.213,
"predicted_BB": 0.455,
"predicted_H": 0.84,
"predicted_HR": 0.14,
"predicted_OBP": 0.333,
"predicted_R": 0.417,
"predicted_RBI": 0.45,
"predicted_SLG": 0.372,
"predicted_SO": 0.553
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1444,
"predicted_3B": 0.0067,
"predicted_AB": 3.779,
"predicted_AVG": 0.2197,
"predicted_BB": 0.512,
"predicted_H": 0.8291,
"predicted_HBP": 0.074,
"predicted_HR": 0.1491,
"predicted_OBP": 0.3378,
"predicted_R": 0.4757,
"predicted_RBI": 0.4709,
"predicted_SLG": 0.3827,
"predicted_SO": 0.5243
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1444,
"delta": -0.0296,
"percent_delta": -0.1701,
"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.94,
"after": 3.779,
"delta": -0.161,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2197,
"delta": 0.0067,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.512,
"delta": 0.057,
"percent_delta": 0.1253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8291,
"delta": -0.0109,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.333,
"after": 0.3378,
"delta": 0.0048,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.4757,
"delta": 0.0587,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4709,
"delta": 0.0209,
"percent_delta": 0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3827,
"delta": 0.0107,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.553,
"after": 0.5243,
"delta": -0.0287,
"percent_delta": -0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.417,
"after": 0.4757,
"delta": 0.0587,
"percent_delta": 0.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.779,
"delta": -0.161,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1444,
"predicted_3B": 0.0067,
"predicted_AB": 3.779,
"predicted_AVG": 0.2185,
"predicted_BB": 0.5107,
"predicted_H": 0.8256,
"predicted_HBP": 0.074,
"predicted_HR": 0.1483,
"predicted_OBP": 0.3115,
"predicted_R": 0.4719,
"predicted_RBI": 0.4671,
"predicted_SLG": 0.378,
"predicted_SO": 0.5256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1444,
"after": 0.1444,
"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.779,
"after": 3.779,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2197,
"after": 0.2185,
"delta": -0.0012,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.512,
"after": 0.5107,
"delta": -0.0013,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8291,
"after": 0.8256,
"delta": -0.0035,
"percent_delta": -0.0042,
"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.1491,
"after": 0.1483,
"delta": -0.0008,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3378,
"after": 0.3115,
"delta": -0.0263,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4757,
"after": 0.4719,
"delta": -0.0038,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4709,
"after": 0.4671,
"delta": -0.0038,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3827,
"after": 0.378,
"delta": -0.0047,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5243,
"after": 0.5256,
"delta": 0.0013,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3378,
"after": 0.3115,
"delta": -0.0263,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.210 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1444,
"after": 0.0,
"delta": -0.1444,
"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.779,
"after": 4.0,
"delta": 0.221,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5107,
"after": 1.0,
"delta": 0.4893,
"percent_delta": 0.9581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8256,
"after": 1.0,
"delta": 0.1744,
"percent_delta": 0.2112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1483,
"after": 0.0,
"delta": -0.1483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4671,
"after": 0.0,
"delta": -0.4671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5256,
"after": 1.0,
"delta": 0.4744,
"percent_delta": 0.9026,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5107,
"after": 1.0,
"delta": 0.4893,
"percent_delta": 0.9581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4671,
"after": 0.0,
"delta": -0.4671,
"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=24.0, weight=0.178, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.8222,
"bvp": 0.1778
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4719,
"after": 0.0,
"delta": -0.4719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4719,
"after": 0.0,
"delta": -0.4719,
"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": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the 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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.307,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.372,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2185,
"after": 0.217,
"delta": -0.0015,
"percent_delta": -0.0069,
"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.3115,
"after": 0.307,
"delta": -0.0045,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.378,
"after": 0.372,
"delta": -0.006,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 10,
"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.2185,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3115,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.378,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.217,
"after": 0.2185,
"delta": 0.0015,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3115,
"delta": 0.0045,
"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.372,
"after": 0.378,
"delta": 0.006,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.372,
"after": 0.378,
"delta": 0.006,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 1.0,
"delta": 0.826,
"percent_delta": 4.7471,
"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.94,
"after": 5.0,
"delta": 1.06,
"percent_delta": 0.269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2185,
"delta": 0.0055,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3115,
"delta": -0.0215,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.378,
"delta": 0.006,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.553,
"after": 1.0,
"delta": 0.447,
"percent_delta": 0.8083,
"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.94,
"after": 5.0,
"delta": 1.06,
"percent_delta": 0.269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.455 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.553 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | -0.030 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.779 | -0.161 |
| predicted_AVG | 0.220 | 0.007 |
| predicted_BB | 0.512 | 0.057 |
| predicted_H | 0.829 | -0.011 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.149 | 0.009 |
| predicted_OBP | 0.338 | 0.005 |
| predicted_R | 0.476 | 0.059 |
| predicted_RBI | 0.471 | 0.021 |
| predicted_SLG | 0.383 | 0.011 |
| predicted_SO | 0.524 | -0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.779 | 0.000 |
| predicted_AVG | 0.218 | -0.001 |
| predicted_BB | 0.511 | -0.001 |
| predicted_H | 0.826 | -0.003 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.148 | -0.001 |
| predicted_OBP | 0.311 | -0.026 |
| predicted_R | 0.472 | -0.004 |
| predicted_RBI | 0.467 | -0.004 |
| predicted_SLG | 0.378 | -0.005 |
| predicted_SO | 0.526 | 0.001 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.210 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.007 |
| predicted_AB | 4.000 | 0.221 |
| predicted_AVG | 0.217 | -0.002 |
| predicted_BB | 0.000 | -0.511 |
| predicted_H | 1.000 | 0.174 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.307 | -0.005 |
| predicted_R | 0.000 | -0.472 |
| predicted_RBI | 0.000 | -0.467 |
| predicted_SLG | 0.372 | -0.006 |
| predicted_SO | 1.000 | 0.474 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 2.000 | 0.1667 | 0.2857 | 0.3333 | 0.1667 | 0.0556 | 0.0556 | 0.1667 | 0.1111 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 2.000 | 6.000 | 7.000 | 10.000 | 3.000 | 0.2121 | 0.3864 | 0.3939 | 0.2121 | 0.0606 | 0.1818 | 0.3030 | 0.0909 |
| season | 0.60 | 132 | - | 479.000 | 121.000 | 23.000 | 1.000 | 18.000 | 74.000 | 55.000 | 60.000 | 73.000 | 0.2526 | 0.3529 | 0.4175 | 0.2526 | 0.0376 | 0.1545 | 0.1253 | 0.1524 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5700 |
| predicted_AVG | 0.2284 |
| predicted_BB | 0.5860 |
| predicted_H | 0.8150 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.3441 |
| predicted_R | 0.5520 |
| predicted_RBI | 0.4980 |
| predicted_SLG | 0.3965 |
| predicted_SO | 0.4870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1060 | 0.1444 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.9400 | 3.5700 | 3.7790 | model_form_blend |
| predicted_AVG | 0.2130 | 0.2284 | 0.2197 | model_form_blend |
| predicted_BB | 0.4550 | 0.5860 | 0.5120 | model_form_blend |
| predicted_H | 0.8400 | 0.8150 | 0.8291 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1400 | 0.1610 | 0.1491 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3441 | 0.3378 | model_form_blend |
| predicted_R | 0.4170 | 0.5520 | 0.4757 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4980 | 0.4709 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3965 | 0.3827 | model_form_blend |
| predicted_SO | 0.5530 | 0.4870 | 0.5243 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 520 |
| Season rows before report date | 520 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 12.9 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.345 |
| sl_xwoba | 0.321 |
| sl_xba | 0.245 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 15.0 |
| 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.157 | 0.000 | 0.000 | Hitting_2B | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.100 | 3.000 | 4.000 | Hitting_AB | 3.874 | 4.000 | -0.874 | -1.000 |
| predicted_AVG | 0.252 | 0.333 | 0.250 | Hitting_AVG | 0.256 | 0.000 | 0.077 | 0.333 |
| predicted_BB | 0.143 | 0.000 | 0.000 | Hitting_BB | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 0.992 | 0.000 | 0.008 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.250 | Hitting_OBP | 0.282 | 0.000 | -0.032 | 0.250 |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.443 | 0.000 | 0.557 | 1.000 |
| predicted_RBI | 0.550 | 1.000 | 1.000 | Hitting_RBI | 0.462 | 0.000 | 0.538 | 1.000 |
| predicted_SLG | 0.457 | 0.333 | 0.250 | Hitting_SLG | 0.394 | 0.000 | -0.061 | 0.333 |
| predicted_SO | 0.629 | 1.000 | 0.000 | Hitting_SO | 0.622 | 2.000 | 0.378 | -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_R: 0.4290 -> 1.0000 (boost 0.5710, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.4290 -> 0.4800 (boost 0.0510, better) | predicted_AB: 4.1000 -> 3.9164 (deboost -0.1836, worse) | Final model input calibrated with local 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.4694 -> 0.4361 (deboost -0.0333, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5369 -> 1.0000 (boost 0.4631, better) | predicted_HR: 0.1751 -> 0.0000 (deboost -0.1751, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.248 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4762 -> 0.0000 (deboost -0.4762, 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 | 1 | 4 | 0 | 5 | 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 | 3 | 2 | 1 | 1 | 1 | predicted_R: 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.3960 -> 0.4361 (boost 0.0401, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673237",
"player_name": "Yainer Diaz",
"position": "C",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.252,
"predicted_BB": 0.143,
"predicted_H": 1.03,
"predicted_HR": 0.16,
"predicted_OBP": 0.298,
"predicted_R": 0.429,
"predicted_RBI": 0.55,
"predicted_SLG": 0.457,
"predicted_SO": 0.629
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0004,
"predicted_AB": 3.9164,
"predicted_AVG": 0.2619,
"predicted_BB": 0.1485,
"predicted_H": 1.0212,
"predicted_HBP": 0.073,
"predicted_HR": 0.176,
"predicted_OBP": 0.3058,
"predicted_R": 0.48,
"predicted_RBI": 0.5412,
"predicted_SLG": 0.4694,
"predicted_SO": 0.6421
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.165,
"delta": 0.008,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9164,
"delta": -0.1836,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2619,
"delta": 0.0099,
"percent_delta": 0.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.1485,
"delta": 0.0055,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0212,
"delta": -0.0088,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.176,
"delta": 0.016,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3058,
"delta": 0.0078,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.48,
"delta": 0.051,
"percent_delta": 0.1189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5412,
"delta": -0.0088,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4694,
"delta": 0.0124,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.629,
"after": 0.6421,
"delta": 0.0131,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.429,
"after": 0.48,
"delta": 0.051,
"percent_delta": 0.1189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9164,
"delta": -0.1836,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.0004,
"predicted_AB": 3.9164,
"predicted_AVG": 0.2597,
"predicted_BB": 0.1481,
"predicted_H": 1.0169,
"predicted_HBP": 0.073,
"predicted_HR": 0.1751,
"predicted_OBP": 0.2866,
"predicted_R": 0.4762,
"predicted_RBI": 0.5369,
"predicted_SLG": 0.4361,
"predicted_SO": 0.6437
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.165,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9164,
"after": 3.9164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2619,
"after": 0.2597,
"delta": -0.0022,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1485,
"after": 0.1481,
"delta": -0.0004,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0212,
"after": 1.0169,
"delta": -0.0043,
"percent_delta": -0.0042,
"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.176,
"after": 0.1751,
"delta": -0.0009,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3058,
"after": 0.2866,
"delta": -0.0192,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.48,
"after": 0.4762,
"delta": -0.0038,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5412,
"after": 0.5369,
"delta": -0.0043,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4694,
"after": 0.4361,
"delta": -0.0333,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6421,
"after": 0.6437,
"delta": 0.0016,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4694,
"after": 0.4361,
"delta": -0.0333,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.248 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.0,
"delta": -0.165,
"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.9164,
"after": 4.0,
"delta": 0.0836,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1481,
"after": 0.0,
"delta": -0.1481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0169,
"after": 1.0,
"delta": -0.0169,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5369,
"after": 1.0,
"delta": 0.4631,
"percent_delta": 0.8625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6437,
"after": 1.0,
"delta": 0.3563,
"percent_delta": 0.5535,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5369,
"after": 1.0,
"delta": 0.4631,
"percent_delta": 0.8625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8553,
"bvp": 0.1447
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4762,
"after": 0.0,
"delta": -0.4762,
"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.4762,
"after": 0.0,
"delta": -0.4762,
"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": 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": 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": 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.238,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.396,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2597,
"after": 0.238,
"delta": -0.0217,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2866,
"after": 0.273,
"delta": -0.0136,
"percent_delta": -0.0475,
"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.4361,
"after": 0.396,
"delta": -0.0401,
"percent_delta": -0.092,
"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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"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": 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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2597,
"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.2866,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4361,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2597,
"delta": 0.0217,
"percent_delta": 0.091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2866,
"delta": 0.0136,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4361,
"delta": 0.0401,
"percent_delta": 0.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.396,
"after": 0.4361,
"delta": 0.0401,
"percent_delta": 0.1013,
"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.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2597,
"delta": 0.0077,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2866,
"delta": -0.0114,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4361,
"delta": -0.0209,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.629,
"after": 1.0,
"delta": 0.371,
"percent_delta": 0.5898,
"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_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.457 | - |
| predicted_SO | 0.629 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.916 | -0.184 |
| predicted_AVG | 0.262 | 0.010 |
| predicted_BB | 0.148 | 0.006 |
| predicted_H | 1.021 | -0.009 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.176 | 0.016 |
| predicted_OBP | 0.306 | 0.008 |
| predicted_R | 0.480 | 0.051 |
| predicted_RBI | 0.541 | -0.009 |
| predicted_SLG | 0.469 | 0.012 |
| predicted_SO | 0.642 | 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.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.916 | 0.000 |
| predicted_AVG | 0.260 | -0.002 |
| predicted_BB | 0.148 | -0.000 |
| predicted_H | 1.017 | -0.004 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.175 | -0.001 |
| predicted_OBP | 0.287 | -0.019 |
| predicted_R | 0.476 | -0.004 |
| predicted_RBI | 0.537 | -0.004 |
| predicted_SLG | 0.436 | -0.033 |
| predicted_SO | 0.644 | 0.002 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.248 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.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.165 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.084 |
| predicted_AVG | 0.238 | -0.022 |
| predicted_BB | 0.000 | -0.148 |
| predicted_H | 1.000 | -0.017 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.273 | -0.014 |
| predicted_R | 0.000 | -0.476 |
| predicted_RBI | 1.000 | 0.463 |
| predicted_SLG | 0.396 | -0.040 |
| predicted_SO | 1.000 | 0.356 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 1.000 | 3.000 | 0.3158 | 0.3810 | 0.6842 | 0.3158 | 0.1053 | 0.2105 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 1.000 | 7.000 | 0.3030 | 0.3429 | 0.5455 | 0.3030 | 0.0606 | 0.1515 | 0.0303 | 0.2121 |
| season | 0.60 | 70 | - | 260.000 | 67.000 | 11.000 | 0.000 | 10.000 | 32.000 | 30.000 | 10.000 | 44.000 | 0.2577 | 0.2883 | 0.4154 | 0.2577 | 0.0385 | 0.1231 | 0.0385 | 0.1692 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6640 |
| predicted_AVG | 0.2754 |
| predicted_BB | 0.1560 |
| predicted_H | 1.0090 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.3166 |
| predicted_R | 0.5500 |
| predicted_RBI | 0.5290 |
| predicted_SLG | 0.4865 |
| predicted_SO | 0.6600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1760 | 0.1650 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1000 | 3.6640 | 3.9164 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2754 | 0.2619 | model_form_blend |
| predicted_BB | 0.1430 | 0.1560 | 0.1485 | model_form_blend |
| predicted_H | 1.0300 | 1.0090 | 1.0212 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.1600 | 0.1980 | 0.1760 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3166 | 0.3058 | model_form_blend |
| predicted_R | 0.4290 | 0.5500 | 0.4800 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5290 | 0.5412 | model_form_blend |
| predicted_SLG | 0.4570 | 0.4865 | 0.4694 | model_form_blend |
| predicted_SO | 0.6290 | 0.6600 | 0.6421 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 262 |
| Season rows before report date | 262 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| 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 | 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 | 20260901_CHW@HOU |
| game_type | full |
| mlbID | 673237 |
| playerID | 673237 |
| playerName | Yainer Diaz |
| pos | C |
| started | True |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-01 |
| sl_k_percent | 16.2 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.305 |
| sl_xwoba | 0.299 |
| sl_xba | 0.261 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 28.5 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 58.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.188 | 0.000 | 0.000 | Hitting_2B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.810 | 4.000 | 4.000 | Hitting_AB | 3.716 | 3.000 | 0.284 | 1.000 |
| predicted_AVG | 0.215 | 0.000 | 0.250 | Hitting_AVG | 0.149 | 0.333 | -0.149 | -0.333 |
| predicted_BB | 0.316 | 0.000 | 0.000 | Hitting_BB | 0.448 | 1.000 | -0.448 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.552 | 1.000 | -0.552 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.280 | 0.000 | 0.250 | Hitting_OBP | 0.240 | 0.500 | -0.240 | -0.500 |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_SLG | 0.333 | 0.000 | 0.250 | Hitting_SLG | 0.221 | 0.333 | -0.221 | -0.333 |
| predicted_SO | 0.812 | 2.000 | 1.000 | Hitting_SO | 0.940 | 1.000 | 1.060 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8120 -> 2.0000 (boost 1.1880, worse) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3287 -> 0.3386 (boost 0.0099, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.7732 -> 4.0000 (boost 0.2268, better) | predicted_RBI: 0.4213 -> 0.0000 (deboost -0.4213, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.209 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3463 -> 0.0000 (deboost -0.3463, 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.3386 -> 0.3050 (deboost -0.0336, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3050 -> 0.3386 (boost 0.0336, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "662139",
"player_name": "Daulton Varsho",
"position": "CF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.017,
"predicted_AB": 3.81,
"predicted_AVG": 0.215,
"predicted_BB": 0.316,
"predicted_H": 0.82,
"predicted_HR": 0.1,
"predicted_OBP": 0.28,
"predicted_R": 0.385,
"predicted_RBI": 0.41,
"predicted_SLG": 0.333,
"predicted_SO": 0.812
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1655,
"predicted_3B": 0.0144,
"predicted_AB": 3.7732,
"predicted_AVG": 0.2115,
"predicted_BB": 0.3208,
"predicted_H": 0.7988,
"predicted_HBP": 0.012,
"predicted_HR": 0.0965,
"predicted_OBP": 0.2771,
"predicted_R": 0.3491,
"predicted_RBI": 0.4247,
"predicted_SLG": 0.3287,
"predicted_SO": 0.8189
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1655,
"delta": -0.0225,
"percent_delta": -0.1197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0144,
"delta": -0.0026,
"percent_delta": -0.1529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.7732,
"delta": -0.0368,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2115,
"delta": -0.0035,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.3208,
"delta": 0.0048,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.7988,
"delta": -0.0212,
"percent_delta": -0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0965,
"delta": -0.0035,
"percent_delta": -0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2771,
"delta": -0.0029,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.3491,
"delta": -0.0359,
"percent_delta": -0.0932,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4247,
"delta": 0.0147,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3287,
"delta": -0.0043,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.8189,
"delta": 0.0069,
"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": {
"xgboost_raw": 0.55,
"weighted_form": 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.1655,
"predicted_3B": 0.0144,
"predicted_AB": 3.7732,
"predicted_AVG": 0.2108,
"predicted_BB": 0.32,
"predicted_H": 0.7954,
"predicted_HBP": 0.012,
"predicted_HR": 0.096,
"predicted_OBP": 0.2725,
"predicted_R": 0.3463,
"predicted_RBI": 0.4213,
"predicted_SLG": 0.3386,
"predicted_SO": 0.8209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1655,
"after": 0.1655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7732,
"after": 3.7732,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2115,
"after": 0.2108,
"delta": -0.0007,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3208,
"after": 0.32,
"delta": -0.0008,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7988,
"after": 0.7954,
"delta": -0.0034,
"percent_delta": -0.0043,
"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.0965,
"after": 0.096,
"delta": -0.0005,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2771,
"after": 0.2725,
"delta": -0.0046,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3491,
"after": 0.3463,
"delta": -0.0028,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4247,
"after": 0.4213,
"delta": -0.0034,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3287,
"after": 0.3386,
"delta": 0.0099,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8189,
"after": 0.8209,
"delta": 0.002,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_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.3287,
"after": 0.3386,
"delta": 0.0099,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.209 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.1655,
"after": 0.0,
"delta": -0.1655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0144,
"after": 0.0,
"delta": -0.0144,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7732,
"after": 4.0,
"delta": 0.2268,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7954,
"after": 1.0,
"delta": 0.2046,
"percent_delta": 0.2572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4213,
"after": 0.0,
"delta": -0.4213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8209,
"after": 1.0,
"delta": 0.1791,
"percent_delta": 0.2182,
"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.7732,
"after": 4.0,
"delta": 0.2268,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4213,
"after": 0.0,
"delta": -0.4213,
"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=16.0, weight=0.139, BvP AVG=0.062)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8609,
"bvp": 0.1391
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3463,
"after": 0.0,
"delta": -0.3463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3463,
"after": 0.0,
"delta": -0.3463,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.188,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.255,
"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.2108,
"after": 0.188,
"delta": -0.0228,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2725,
"after": 0.255,
"delta": -0.0175,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3386,
"after": 0.305,
"delta": -0.0336,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3386,
"after": 0.305,
"delta": -0.0336,
"percent_delta": -0.0992,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"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": 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.2108,
"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.2725,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3386,
"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.188,
"after": 0.2108,
"delta": 0.0228,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2725,
"delta": 0.0175,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3386,
"delta": 0.0336,
"percent_delta": 0.1103,
"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.3386,
"delta": 0.0336,
"percent_delta": 0.1103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 4.0,
"delta": 0.19,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2108,
"delta": -0.0042,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.28,
"after": 0.2725,
"delta": -0.0075,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3386,
"delta": 0.0056,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 2.0,
"delta": 1.188,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.812,
"after": 2.0,
"delta": 1.188,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.812 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | -0.022 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.773 | -0.037 |
| predicted_AVG | 0.211 | -0.004 |
| predicted_BB | 0.321 | 0.005 |
| predicted_H | 0.799 | -0.021 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.097 | -0.004 |
| predicted_OBP | 0.277 | -0.003 |
| predicted_R | 0.349 | -0.036 |
| predicted_RBI | 0.425 | 0.015 |
| predicted_SLG | 0.329 | -0.004 |
| predicted_SO | 0.819 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.773 | 0.000 |
| predicted_AVG | 0.211 | -0.001 |
| predicted_BB | 0.320 | -0.001 |
| predicted_H | 0.795 | -0.003 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.096 | -0.001 |
| predicted_OBP | 0.273 | -0.005 |
| predicted_R | 0.346 | -0.003 |
| predicted_RBI | 0.421 | -0.003 |
| predicted_SLG | 0.339 | 0.010 |
| predicted_SO | 0.821 | 0.002 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.209 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.166 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.227 |
| predicted_AVG | 0.188 | -0.023 |
| predicted_BB | 0.000 | -0.320 |
| predicted_H | 1.000 | 0.205 |
| predicted_HR | 0.000 | -0.096 |
| predicted_OBP | 0.255 | -0.018 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.305 | -0.034 |
| predicted_SO | 1.000 | 0.179 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 2.000 | 4.000 | 0.1111 | 0.2000 | 0.1111 | 0.1111 | 0.0000 | 0.1667 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 3.000 | 9.000 | 0.2250 | 0.2791 | 0.4000 | 0.2250 | 0.0500 | 0.1750 | 0.0750 | 0.2250 |
| season | 0.60 | 117 | - | 429.000 | 98.000 | 22.000 | 2.000 | 10.000 | 36.000 | 45.000 | 37.000 | 95.000 | 0.2284 | 0.2921 | 0.3590 | 0.2284 | 0.0233 | 0.0839 | 0.0862 | 0.2215 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.7250 |
| predicted_AVG | 0.2069 |
| predicted_BB | 0.3270 |
| predicted_H | 0.7710 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.2732 |
| predicted_R | 0.3020 |
| predicted_RBI | 0.4440 |
| predicted_SLG | 0.3230 |
| predicted_SO | 0.8280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1360 | 0.1655 | model_form_blend |
| predicted_3B | 0.0170 | 0.0110 | 0.0144 | model_form_blend |
| predicted_AB | 3.8100 | 3.7250 | 3.7732 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2069 | 0.2115 | model_form_blend |
| predicted_BB | 0.3160 | 0.3270 | 0.3208 | model_form_blend |
| predicted_H | 0.8200 | 0.7710 | 0.7988 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1000 | 0.0920 | 0.0965 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2732 | 0.2771 | model_form_blend |
| predicted_R | 0.3850 | 0.3020 | 0.3491 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4440 | 0.4247 | model_form_blend |
| predicted_SLG | 0.3330 | 0.3230 | 0.3287 | model_form_blend |
| predicted_SO | 0.8120 | 0.8280 | 0.8189 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 67 |
| Season rows before report date | 67 |
| 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 662139 |
| playerID | 662139 |
| playerName | Daulton Varsho |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.289 |
| sl_xwoba | 0.288 |
| sl_xba | 0.233 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 52.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.600 | 4.000 | 3.000 | Hitting_AB | 2.864 | 2.000 | 1.136 | 2.000 |
| predicted_AVG | 0.203 | 0.250 | 0.333 | Hitting_AVG | 0.216 | 0.000 | 0.034 | 0.250 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.555 | 0.000 | -0.555 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.380 | 1.000 | 1.000 | Hitting_H | 0.618 | 0.000 | 0.382 | 1.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | 0.909 | 1.000 |
| predicted_OBP | 0.252 | 0.250 | 0.500 | Hitting_OBP | 0.343 | 0.000 | -0.093 | 0.250 |
| predicted_R | 0.325 | 1.000 | 0.000 | Hitting_R | 0.391 | 0.000 | 0.609 | 1.000 |
| predicted_RBI | 0.250 | 1.000 | 0.000 | Hitting_RBI | 0.545 | 0.000 | 0.455 | 1.000 |
| predicted_SLG | 0.355 | 1.000 | 0.333 | Hitting_SLG | 0.365 | 0.000 | 0.635 | 1.000 |
| predicted_SO | 0.775 | 2.000 | 1.000 | Hitting_SO | 0.791 | 0.000 | 1.209 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.6000 -> 4.0000 (boost 1.4000, 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 | 5 | 4 | 1 | 3 | 2 | predicted_SO: 0.7750 -> 0.8384 (boost 0.0634, worse) | predicted_AVG: 0.2030 -> 0.1968 (deboost -0.0062, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3555 -> 0.2999 (deboost -0.0556, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 2.6568 -> 3.0000 (boost 0.3432, better) | predicted_H: 0.4307 -> 0.0000 (deboost -0.4307, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.162 HR/AB=0.031 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3247 -> 0.0000 (deboost -0.3247, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.2999 -> 0.3500 (boost 0.0501, better) | predicted_BB: 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 | 5 | 5 | 0 | 4 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3500 -> 0.2999 (deboost -0.0501, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"position": "LF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.6,
"predicted_AVG": 0.203,
"predicted_BB": 0.4,
"predicted_H": 0.38,
"predicted_HR": 0.06,
"predicted_OBP": 0.252,
"predicted_R": 0.325,
"predicted_RBI": 0.25,
"predicted_SLG": 0.355,
"predicted_SO": 0.775
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1176,
"predicted_3B": 0.0008,
"predicted_AB": 2.6568,
"predicted_AVG": 0.1968,
"predicted_BB": 0.3511,
"predicted_H": 0.4325,
"predicted_HBP": 0.005,
"predicted_HR": 0.0827,
"predicted_OBP": 0.2549,
"predicted_R": 0.3273,
"predicted_RBI": 0.3111,
"predicted_SLG": 0.3555,
"predicted_SO": 0.8384
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1176,
"delta": -0.0074,
"percent_delta": -0.0592,
"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.6,
"after": 2.6568,
"delta": 0.0568,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1968,
"delta": -0.0062,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.3511,
"delta": -0.0489,
"percent_delta": -0.1222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.4325,
"delta": 0.0525,
"percent_delta": 0.1382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0827,
"delta": 0.0227,
"percent_delta": 0.3783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.252,
"after": 0.2549,
"delta": 0.0029,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.3273,
"delta": 0.0023,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.3111,
"delta": 0.0611,
"percent_delta": 0.2444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3555,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 0.8384,
"delta": 0.0634,
"percent_delta": 0.0818,
"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.775,
"after": 0.8384,
"delta": 0.0634,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1968,
"delta": -0.0062,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 40
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1176,
"predicted_3B": 0.0008,
"predicted_AB": 2.6568,
"predicted_AVG": 0.1621,
"predicted_BB": 0.3502,
"predicted_H": 0.4307,
"predicted_HBP": 0.005,
"predicted_HR": 0.0823,
"predicted_OBP": 0.2597,
"predicted_R": 0.3247,
"predicted_RBI": 0.3086,
"predicted_SLG": 0.2999,
"predicted_SO": 0.8405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1176,
"after": 0.1176,
"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.6568,
"after": 2.6568,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1968,
"after": 0.1621,
"delta": -0.0347,
"percent_delta": -0.1763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3511,
"after": 0.3502,
"delta": -0.0009,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4325,
"after": 0.4307,
"delta": -0.0018,
"percent_delta": -0.0042,
"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.0827,
"after": 0.0823,
"delta": -0.0004,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2549,
"after": 0.2597,
"delta": 0.0048,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3273,
"after": 0.3247,
"delta": -0.0026,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3111,
"after": 0.3086,
"delta": -0.0025,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3555,
"after": 0.2999,
"delta": -0.0556,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8384,
"after": 0.8405,
"delta": 0.0021,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3555,
"after": 0.2999,
"delta": -0.0556,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.162 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1176,
"after": 0.0,
"delta": -0.1176,
"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.6568,
"after": 3.0,
"delta": 0.3432,
"percent_delta": 0.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3502,
"after": 0.0,
"delta": -0.3502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4307,
"after": 0.0,
"delta": -0.4307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0823,
"after": 0.0,
"delta": -0.0823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3086,
"after": 0.0,
"delta": -0.3086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8405,
"after": 1.0,
"delta": 0.1595,
"percent_delta": 0.1898,
"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.6568,
"after": 3.0,
"delta": 0.3432,
"percent_delta": 0.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4307,
"after": 0.0,
"delta": -0.4307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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_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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3247,
"after": 0.0,
"delta": -0.3247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3247,
"after": 0.0,
"delta": -0.3247,
"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": 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": 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.176,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.272,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.35,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1621,
"after": 0.176,
"delta": 0.0139,
"percent_delta": 0.0857,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2597,
"after": 0.272,
"delta": 0.0123,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2999,
"after": 0.35,
"delta": 0.0501,
"percent_delta": 0.1671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.2999,
"after": 0.35,
"delta": 0.0501,
"percent_delta": 0.1671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1621,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2597,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2999,
"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.176,
"after": 0.1621,
"delta": -0.0139,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.272,
"after": 0.2597,
"delta": -0.0123,
"percent_delta": -0.0452,
"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.35,
"after": 0.2999,
"delta": -0.0501,
"percent_delta": -0.1432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.2999,
"delta": -0.0501,
"percent_delta": -0.1432,
"direction": "deboost",
"projection_effect": "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.6,
"after": 4.0,
"delta": 1.4,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1621,
"delta": -0.0409,
"percent_delta": -0.2015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 1.0,
"delta": 0.94,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.252,
"after": 0.2597,
"delta": 0.0077,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.2999,
"delta": -0.0551,
"percent_delta": -0.1552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 2.0,
"delta": 1.225,
"percent_delta": 1.5806,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6,
"after": 4.0,
"delta": 1.4,
"percent_delta": 0.5385,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.600 | - |
| predicted_AVG | 0.203 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.380 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.252 | - |
| predicted_R | 0.325 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.775 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.657 | 0.057 |
| predicted_AVG | 0.197 | -0.006 |
| predicted_BB | 0.351 | -0.049 |
| predicted_H | 0.432 | 0.052 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.083 | 0.023 |
| predicted_OBP | 0.255 | 0.003 |
| predicted_R | 0.327 | 0.002 |
| predicted_RBI | 0.311 | 0.061 |
| predicted_SLG | 0.355 | 0.001 |
| predicted_SO | 0.838 | 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.118 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.657 | 0.000 |
| predicted_AVG | 0.162 | -0.035 |
| predicted_BB | 0.350 | -0.001 |
| predicted_H | 0.431 | -0.002 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.082 | -0.000 |
| predicted_OBP | 0.260 | 0.005 |
| predicted_R | 0.325 | -0.003 |
| predicted_RBI | 0.309 | -0.003 |
| predicted_SLG | 0.300 | -0.056 |
| predicted_SO | 0.841 | 0.002 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.162 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 1.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 | 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.118 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.343 |
| predicted_AVG | 0.176 | 0.014 |
| predicted_BB | 0.000 | -0.350 |
| predicted_H | 1.000 | 0.569 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.272 | 0.012 |
| predicted_R | 0.000 | -0.325 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.350 | 0.050 |
| predicted_SO | 1.000 | 0.159 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 5.000 | 0.1000 | 0.1000 | 0.4000 | 0.1000 | 0.1000 | 0.2000 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 26.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 12.000 | 0.1538 | 0.2143 | 0.3077 | 0.1538 | 0.0385 | 0.0769 | 0.0769 | 0.4615 |
| season | 0.60 | 40 | - | 104.000 | 21.000 | 5.000 | 0.000 | 3.000 | 17.000 | 13.000 | 16.000 | 31.000 | 0.2019 | 0.3083 | 0.3365 | 0.2019 | 0.0289 | 0.1635 | 0.1538 | 0.2981 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.7450 |
| predicted_AVG | 0.1871 |
| predicted_BB | 0.2750 |
| predicted_H | 0.5140 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1180 |
| predicted_OBP | 0.2594 |
| predicted_R | 0.3310 |
| predicted_RBI | 0.4060 |
| predicted_SLG | 0.3562 |
| predicted_SO | 0.9370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1060 | 0.1176 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.6000 | 2.7450 | 2.6568 | model_form_blend |
| predicted_AVG | 0.2030 | 0.1871 | 0.1968 | model_form_blend |
| predicted_BB | 0.4000 | 0.2750 | 0.3511 | model_form_blend |
| predicted_H | 0.3800 | 0.5140 | 0.4325 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0600 | 0.1180 | 0.0827 | model_form_blend |
| predicted_OBP | 0.2520 | 0.2594 | 0.2549 | model_form_blend |
| predicted_R | 0.3250 | 0.3310 | 0.3273 | model_form_blend |
| predicted_RBI | 0.2500 | 0.4060 | 0.3111 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3562 | 0.3555 | model_form_blend |
| predicted_SO | 0.7750 | 0.9370 | 0.8384 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 110 |
| Season rows before report date | 110 |
| Report year | 2026 |
| Profile rows used | 40 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 1B |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 664774 |
| playerID | 664774 |
| playerName | LaMonte Wade Jr. |
| pos | LF |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.281 |
| sl_xba | 0.19 |
| sl_xslg | 0.3 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 35.6 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 38.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 1.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | 0.792 | 1.000 |
| predicted_3B | 0.008 | 1.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | 0.992 | 1.000 |
| predicted_AB | 3.699 | 4.000 | 4.000 | Hitting_AB | 3.841 | 2.000 | 0.159 | 2.000 |
| predicted_AVG | 0.164 | 0.500 | 0.000 | Hitting_AVG | 0.242 | 0.000 | 0.258 | 0.500 |
| predicted_BB | 0.331 | 0.000 | 0.000 | Hitting_BB | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.380 | 2.000 | 0.000 | Hitting_H | 0.930 | 0.000 | 1.070 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_OBP | 0.226 | 0.500 | 0.000 | Hitting_OBP | 0.319 | 0.000 | 0.181 | 0.500 |
| predicted_R | 0.481 | 1.000 | 0.000 | Hitting_R | 0.550 | 0.000 | 0.450 | 1.000 |
| predicted_RBI | 0.320 | 1.000 | 0.000 | Hitting_RBI | 0.652 | 0.000 | 0.348 | 1.000 |
| predicted_SLG | 0.335 | 1.250 | 0.000 | Hitting_SLG | 0.460 | 0.000 | 0.790 | 1.250 |
| predicted_SO | 0.977 | 0.000 | 1.000 | Hitting_SO | 0.994 | 1.000 | -0.994 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 7 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.3800 -> 2.0000 (boost 1.6200, better) |
| Biggest Deboost | predicted_SO: 0.9770 -> 0.0000 (deboost -0.9770, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 4 | 2 | predicted_H: 0.3800 -> 0.4974 (boost 0.1174, better) | predicted_R: 0.4810 -> 0.4153 (deboost -0.0657, worse) | Final model input calibrated with local 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.3293 -> 0.2689 (deboost -0.0604, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_H: 0.4953 -> 1.0000 (boost 0.5047, better) | predicted_RBI: 0.3770 -> 0.0000 (deboost -0.3770, worse) | AB rounded to 4 (raw=3.70), rates preserved: AVG=0.134 HR/AB=0.028 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4120 -> 0.0000 (deboost -0.4120, 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 | 3 | 1 | 2 | 1 | 2 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.2689 -> 0.2480 (deboost -0.0209, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 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 |
| 10 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2480 -> 0.2689 (boost 0.0209, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.008,
"predicted_AB": 3.699,
"predicted_AVG": 0.164,
"predicted_BB": 0.331,
"predicted_H": 0.38,
"predicted_HR": 0.09,
"predicted_OBP": 0.226,
"predicted_R": 0.481,
"predicted_RBI": 0.32,
"predicted_SLG": 0.335,
"predicted_SO": 0.977
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1637,
"predicted_3B": 0.0067,
"predicted_AB": 3.6686,
"predicted_AVG": 0.1706,
"predicted_BB": 0.2997,
"predicted_H": 0.4974,
"predicted_HBP": 0.105,
"predicted_HR": 0.1052,
"predicted_OBP": 0.2377,
"predicted_R": 0.4153,
"predicted_RBI": 0.38,
"predicted_SLG": 0.3293,
"predicted_SO": 0.98
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1637,
"delta": -0.0243,
"percent_delta": -0.1293,
"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.699,
"after": 3.6686,
"delta": -0.0304,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.164,
"after": 0.1706,
"delta": 0.0066,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.2997,
"delta": -0.0313,
"percent_delta": -0.0946,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.4974,
"delta": 0.1174,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1052,
"delta": 0.0152,
"percent_delta": 0.1689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.226,
"after": 0.2377,
"delta": 0.0117,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.4153,
"delta": -0.0657,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.38,
"delta": 0.06,
"percent_delta": 0.1875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.3293,
"delta": -0.0057,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.977,
"after": 0.98,
"delta": 0.003,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.38,
"after": 0.4974,
"delta": 0.1174,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.481,
"after": 0.4153,
"delta": -0.0657,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 133
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1637,
"predicted_3B": 0.0067,
"predicted_AB": 3.6686,
"predicted_AVG": 0.135,
"predicted_BB": 0.299,
"predicted_H": 0.4953,
"predicted_HBP": 0.105,
"predicted_HR": 0.1047,
"predicted_OBP": 0.2002,
"predicted_R": 0.412,
"predicted_RBI": 0.377,
"predicted_SLG": 0.2689,
"predicted_SO": 0.9824
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1637,
"after": 0.1637,
"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.6686,
"after": 3.6686,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1706,
"after": 0.135,
"delta": -0.0356,
"percent_delta": -0.2087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2997,
"after": 0.299,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4974,
"after": 0.4953,
"delta": -0.0021,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1052,
"after": 0.1047,
"delta": -0.0005,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2377,
"after": 0.2002,
"delta": -0.0375,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4153,
"after": 0.412,
"delta": -0.0033,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.377,
"delta": -0.003,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3293,
"after": 0.2689,
"delta": -0.0604,
"percent_delta": -0.1834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.98,
"after": 0.9824,
"delta": 0.0024,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3293,
"after": 0.2689,
"delta": -0.0604,
"percent_delta": -0.1834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.70), rates preserved: AVG=0.134 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1637,
"after": 0.0,
"delta": -0.1637,
"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.6686,
"after": 4.0,
"delta": 0.3314,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4953,
"after": 1.0,
"delta": 0.5047,
"percent_delta": 1.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1047,
"after": 0.0,
"delta": -0.1047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9824,
"after": 1.0,
"delta": 0.0176,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4953,
"after": 1.0,
"delta": 0.5047,
"percent_delta": 1.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"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=20.0, weight=0.160, 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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.84,
"bvp": 0.16
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 4.0,
"predicted_AVG": 0.128,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.196,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.248,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.135,
"after": 0.128,
"delta": -0.007,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2002,
"after": 0.196,
"delta": -0.0042,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2689,
"after": 0.248,
"delta": -0.0209,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.2689,
"after": 0.248,
"delta": -0.0209,
"percent_delta": -0.0777,
"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": 1.0,
"predicted_3B": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.135,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2002,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2689,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.128,
"after": 0.135,
"delta": 0.007,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.196,
"after": 0.2002,
"delta": 0.0042,
"percent_delta": 0.0214,
"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.248,
"after": 0.2689,
"delta": 0.0209,
"percent_delta": 0.0841,
"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.248,
"after": 0.2689,
"delta": 0.0209,
"percent_delta": 0.0841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 1.0,
"delta": 0.992,
"percent_delta": 124.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.699,
"after": 4.0,
"delta": 0.301,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.164,
"after": 0.135,
"delta": -0.029,
"percent_delta": -0.1768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 2.0,
"delta": 1.62,
"percent_delta": 4.2632,
"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.226,
"after": 0.2002,
"delta": -0.0258,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 1.0,
"delta": 0.519,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.2689,
"delta": -0.0661,
"percent_delta": -0.1973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.977,
"after": 0.0,
"delta": -0.977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 7,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.38,
"after": 2.0,
"delta": 1.62,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.977,
"after": 0.0,
"delta": -0.977,
"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.188 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.699 | - |
| predicted_AVG | 0.164 | - |
| predicted_BB | 0.331 | - |
| predicted_H | 0.380 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.226 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.977 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | -0.024 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.669 | -0.030 |
| predicted_AVG | 0.171 | 0.007 |
| predicted_BB | 0.300 | -0.031 |
| predicted_H | 0.497 | 0.117 |
| predicted_HBP | 0.105 | - |
| predicted_HR | 0.105 | 0.015 |
| predicted_OBP | 0.238 | 0.012 |
| predicted_R | 0.415 | -0.066 |
| predicted_RBI | 0.380 | 0.060 |
| predicted_SLG | 0.329 | -0.006 |
| predicted_SO | 0.980 | 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.164 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.669 | 0.000 |
| predicted_AVG | 0.135 | -0.036 |
| predicted_BB | 0.299 | -0.001 |
| predicted_H | 0.495 | -0.002 |
| predicted_HBP | 0.105 | 0.000 |
| predicted_HR | 0.105 | -0.001 |
| predicted_OBP | 0.200 | -0.038 |
| predicted_R | 0.412 | -0.003 |
| predicted_RBI | 0.377 | -0.003 |
| predicted_SLG | 0.269 | -0.060 |
| predicted_SO | 0.982 | 0.002 |
AB rounded to 4 (raw=3.70), rates preserved: AVG=0.134 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=20.0, weight=0.160, 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 | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.164 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.331 |
| predicted_AVG | 0.128 | -0.007 |
| predicted_BB | 0.000 | -0.299 |
| predicted_H | 1.000 | 0.505 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.196 | -0.004 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.377 |
| predicted_SLG | 0.248 | -0.021 |
| predicted_SO | 1.000 | 0.018 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 5.000 | 0.0625 | 0.1667 | 0.0625 | 0.0625 | 0.0000 | 0.0625 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 10 | - | 38.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 10.000 | 0.1316 | 0.1750 | 0.2368 | 0.1316 | 0.0263 | 0.1053 | 0.0263 | 0.2632 |
| season | 0.60 | 133 | - | 492.000 | 112.000 | 25.000 | 1.000 | 24.000 | 76.000 | 64.000 | 44.000 | 130.000 | 0.2276 | 0.3029 | 0.4289 | 0.2276 | 0.0488 | 0.1545 | 0.0894 | 0.2642 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6290 |
| predicted_AVG | 0.1792 |
| predicted_BB | 0.2590 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.1050 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.2530 |
| predicted_R | 0.3300 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.3219 |
| predicted_SO | 0.9840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1320 | 0.1637 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.6990 | 3.6290 | 3.6686 | model_form_blend |
| predicted_AVG | 0.1640 | 0.1792 | 0.1706 | model_form_blend |
| predicted_BB | 0.3310 | 0.2590 | 0.2997 | model_form_blend |
| predicted_H | 0.3800 | 0.6500 | 0.4974 | model_form_blend |
| predicted_HBP | - | 0.1050 | 0.1050 | form_only |
| predicted_HR | 0.0900 | 0.1250 | 0.1052 | model_form_blend |
| predicted_OBP | 0.2260 | 0.2530 | 0.2377 | model_form_blend |
| predicted_R | 0.4810 | 0.3300 | 0.4153 | model_form_blend |
| predicted_RBI | 0.3200 | 0.4580 | 0.3800 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3219 | 0.3293 | model_form_blend |
| predicted_SO | 0.9770 | 0.9840 | 0.9800 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 515 |
| Season rows before report date | 515 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 1 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-1B |
| gameID | 20260902_CHW@HOU |
| game_type | ph |
| mlbID | 572233 |
| note | Struck out for Wade Jr. in the 7th. |
| playerID | 572233 |
| playerName | Christian Walker |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.317 |
| sl_xwoba | 0.3 |
| sl_xba | 0.224 |
| sl_xslg | 0.382 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 29.5 |
| 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 | 4.000 | 4.000 | 4.000 | Pitching_BB | 2.933 | 1.000 | 1.067 | 3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.000 | 1.000 | 1.000 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.067 | 5.000 | 1.933 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.213 | 6.200 | -0.013 | -1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 5.733 | 10.000 | -2.733 | -7.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "686613",
"player_name": "Hunter Brown",
"position": "Starter",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.100 | 10.000 | 23.000 | 14.000 | 31.000 | 4.000 | 3.1765 | 1.3059 | 0.3529 | 0.8118 | 0.4941 | 1.0941 | 0.1412 |
| last_10 | 0.35 | 10 | 55.200 | 25.000 | 44.000 | 31.000 | 54.000 | 8.000 | 4.0419 | 1.3473 | 0.4491 | 0.7904 | 0.5569 | 0.9701 | 0.1437 |
| season | 0.20 | 15 | 81.000 | 30.000 | 61.000 | 44.000 | 86.000 | 10.000 | 3.3333 | 1.2963 | 0.3704 | 0.7531 | 0.5432 | 1.0617 | 0.1235 |
| Metric | Value |
|---|---|
| predicted_BB | 2.7360 |
| predicted_ER | 2.3420 |
| predicted_ERA | 3.7526 |
| predicted_H | 4.7050 |
| predicted_HR | 0.7890 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.7170 |
| predicted_WHIP | 1.3247 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 2.7360 | 3.3119 | model_form_blend |
| predicted_ER | 3.0000 | 2.3420 | 2.6418 | model_form_blend |
| predicted_ERA | - | 3.7526 | 3.7526 | form_only |
| predicted_H | 6.0000 | 4.7050 | 5.2950 | model_form_blend |
| predicted_HR | 2.0000 | 0.7890 | 1.3408 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 2.0000 | 5.7170 | 4.0234 | model_form_blend |
| predicted_WHIP | - | 1.3247 | 1.3247 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 4 |
| SO | 3 |
| HR | 2 |
| BF | 27 |
| Pitches | 117 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 25 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.33 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.2 |
| Pitching_Pitches | 102 |
| Pitching_R | 1 |
| Pitching_SO | 10 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_HOU@NYM |
| game_type | full |
| mlbID | 686613 |
| playerID | 686613 |
| playerName | Hunter Brown |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-28 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.303 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 37.4 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 41.5 |
| sl_avg_best_speed | 73.42261951 |
| sl_avg_hyper_speed | 93.233770784 |
| 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.709 | 1.000 | -0.709 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.418 | 0.000 | -0.418 | 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.860 | 1.000 | 0.140 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.236 | 2.000 | -0.236 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "650556",
"player_name": "Bryan Abreu",
"position": "Middle Reliever (High Leverage)",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 1.000 | 4.000 | 4.000 | 7.000 | 0.000 | 1.5882 | 1.4118 | 0.1765 | 0.7059 | 0.7059 | 1.2353 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 7.000 | 9.000 | 13.000 | 0.000 | 2.5312 | 1.5000 | 0.2812 | 0.6562 | 0.8438 | 1.2188 | 0.0000 |
| season | 0.20 | 54 | 52.200 | 23.000 | 34.000 | 39.000 | 68.000 | 7.000 | 3.9304 | 1.3861 | 0.4367 | 0.6456 | 0.7405 | 1.2911 | 0.1329 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6360 |
| predicted_ER | 0.3400 |
| predicted_ERA | 3.0577 |
| predicted_H | 0.7720 |
| predicted_HR | 0.0650 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1440 |
| predicted_WHIP | 1.4074 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6360 | 0.3272 | model_form_blend |
| predicted_ER | 0.0000 | 0.3400 | 0.1749 | model_form_blend |
| predicted_ERA | - | 3.0577 | 3.0577 | form_only |
| predicted_H | 0.0000 | 0.7720 | 0.3972 | model_form_blend |
| predicted_HR | 0.0000 | 0.0650 | 0.0334 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1440 | 1.0741 | model_form_blend |
| predicted_WHIP | - | 1.4074 | 1.4074 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 54 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.93 |
| Pitching_Flyouts | 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260831_CHW@HOU |
| game_type | full |
| mlbID | 650556 |
| playerID | 650556 |
| playerName | Bryan Abreu |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-31 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 17.0 |
| sl_woba | 0.326 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 40.7 |
| sl_whiff_percent | 34.9 |
| sl_swing_percent | 41.1 |
| sl_avg_best_speed | 81.276064035 |
| sl_avg_hyper_speed | 94.240100354 |
| 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.289 | 0.000 | -0.289 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.958 | 1.000 | 0.042 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.289 | 1.000 | -0.289 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623352",
"player_name": "Josh Hader",
"position": "Closer",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 1.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.1875 | 0.0000 | 0.1875 | 0.0000 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 0.000 | 4.000 | 1.000 | 11.000 | 0.000 | 0.0000 | 0.4839 | 0.0000 | 0.3871 | 0.0968 | 1.0645 | 0.0000 |
| season | 0.20 | 37 | 37.100 | 2.000 | 11.000 | 11.000 | 49.000 | 1.000 | 0.4821 | 0.5893 | 0.0536 | 0.2946 | 0.2946 | 1.3125 | 0.0268 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2040 |
| predicted_ER | 0.2050 |
| predicted_ERA | 1.8487 |
| predicted_H | 0.5560 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0600 |
| predicted_WHIP | 0.7603 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2040 | 0.0981 | model_form_blend |
| predicted_ER | 0.0000 | 0.2050 | 0.0986 | model_form_blend |
| predicted_ERA | - | 1.8487 | 1.8487 | form_only |
| predicted_H | 0.0000 | 0.5560 | 0.2675 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0298 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0600 | 1.0289 | model_form_blend |
| predicted_WHIP | - | 0.7603 | 0.7603 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.72 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 35.8 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.164 |
| sl_xwoba | 0.213 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 33.8 |
| sl_whiff_percent | 36.0 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 75.264315385 |
| sl_avg_hyper_speed | 92.977443506 |
| 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.206 | 0.000 | 0.794 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.662 | 1.000 | 0.338 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.865 | 1.000 | 0.135 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 2.000 | 0.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "595345",
"player_name": "Steven Okert",
"position": "Setup Man",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 2.000 | 5.000 | 1.000 | 4.000 | 1.000 | 4.5000 | 1.5000 | 0.5000 | 1.2500 | 0.2500 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 6.000 | 2.000 | 8.000 | 1.000 | 1.9286 | 0.8571 | 0.2143 | 0.6429 | 0.2143 | 0.8571 | 0.1071 |
| season | 0.20 | 68 | 67.200 | 16.000 | 45.000 | 14.000 | 68.000 | 7.000 | 2.1281 | 0.8719 | 0.2364 | 0.6650 | 0.2069 | 1.0049 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2380 |
| predicted_ER | 0.3450 |
| predicted_ERA | 3.4892 |
| predicted_H | 0.8320 |
| predicted_HR | 0.1460 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8440 |
| predicted_WHIP | 1.2016 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2380 | 0.5912 | model_form_blend |
| predicted_ER | 1.0000 | 0.3450 | 0.6486 | model_form_blend |
| predicted_ERA | - | 3.4892 | 3.4892 | form_only |
| predicted_H | 1.0000 | 0.8320 | 0.9099 | model_form_blend |
| predicted_HR | 0.0000 | 0.1460 | 0.0783 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8440 | 0.9163 | model_form_blend |
| predicted_WHIP | - | 1.2016 | 1.2016 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 68 |
| Season rows before report date | 68 |
| Report year | 2026 |
| Profile rows used | 68 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.13 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260831_CHW@HOU |
| game_type | full |
| mlbID | 595345 |
| playerID | 595345 |
| playerName | Steven Okert |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-31 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.252 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 76.784037294 |
| sl_avg_hyper_speed | 93.312259588 |
| 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.660 | 1.000 | 0.340 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.547 | 0.000 | -0.547 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.226 | 2.000 | -0.226 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.526 | 1.000 | -1.426 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.623 | 0.000 | -0.623 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "805123",
"player_name": "AJ Blubaugh",
"position": "Middle Reliever (High Leverage)",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 0.000 | 5.000 | 2.000 | 7.000 | 0.000 | 0.0000 | 0.9545 | 0.0000 | 0.6818 | 0.2727 | 0.9546 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 1.000 | 11.000 | 2.000 | 13.000 | 1.000 | 0.6000 | 0.8667 | 0.0667 | 0.7333 | 0.1333 | 0.8667 | 0.0667 |
| season | 0.20 | 53 | 85.100 | 29.000 | 65.000 | 35.000 | 86.000 | 10.000 | 3.0586 | 1.1719 | 0.3398 | 0.7617 | 0.4102 | 1.0078 | 0.1172 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3230 |
| predicted_ER | 0.2120 |
| predicted_ERA | 1.6470 |
| predicted_H | 0.8970 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0840 |
| predicted_WHIP | 1.0522 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3230 | 0.6245 | model_form_blend |
| predicted_ER | 0.0000 | 0.2120 | 0.1176 | model_form_blend |
| predicted_ERA | - | 1.6470 | 1.6470 | form_only |
| predicted_H | 1.0000 | 0.8970 | 0.9429 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0444 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0840 | 1.4919 | model_form_blend |
| predicted_WHIP | - | 1.0522 | 1.0522 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| 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 | 0.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.06 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260902_CHW@HOU |
| game_type | full |
| mlbID | 805123 |
| playerID | 805123 |
| playerName | AJ Blubaugh |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.291 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 79.06023036 |
| sl_avg_hyper_speed | 93.740408778 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIA 5 - 4 KC | MIA | 0.548 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIA 5 - 4 KC | MIA | - | 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.4837; empirical=0.5350; weight=0.5000; final=0.5094 |
| P1 | H2H margin as base feature | available | home net=-6; abs=6; home delta=-0.0450; away delta=0.0450 |
| 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.8607; recent edge=0.2160; 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.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5476 |
| 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.949 | 4.033 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 4 | 0.5476 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 4 | embedded_savant_run_environment | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6603651193166743,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.23056048505951848,
"confidence": 0.8682154480000001,
"factors": {
"environmental": 1.01745,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.5364308960000002
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 471,
"near_bucket_sample_size": 471,
"medium_bucket_sample_size": 556,
"wide_bucket_sample_size": 671,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.535,
"bayesian_hit_rate": 0.5337,
"prior_strength": 18.0,
"raw_pick_probability": 0.5278,
"raw_pick_probability_unclamped": 0.5278,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4722,
"margin_implied_pick_probability": 0.5278,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5278,
"score_implied_floor_pick_probability": 0.5271,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.472236,
"uncapped_away_win_probability": 0.527764,
"calibrated_pick_probability": 0.5271,
"predicted_side": "away",
"reliability": 0.96319,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.976074
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.48373,
"sample_size": 471,
"empirical_hit_rate": 0.535,
"empirical_weight": 0.5,
"blended_confidence": 0.509365,
"published_confidence": 0.547642,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 2,
"sample_weight": 0.03,
"home_net_margin": -6.0,
"absolute_net_margin": 6.0,
"home_average_margin": -3.0,
"home_run_delta": -0.045,
"away_run_delta": 0.045,
"evidence": [
{
"game_id": null,
"home_margin": -3.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": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.44285714285714284,
"runs_scored": 599,
"runs_allowed": 688,
"run_differential": -89,
"run_differential_per_game": -0.6357142857142857,
"available": true
},
"away": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071428571428571,
"runs_scored": 612,
"runs_allowed": 594,
"run_differential": 18,
"run_differential_per_game": 0.12857142857142856,
"available": true
},
"run_differential_edge_per_game": -0.7643,
"win_pct_edge": -0.0643,
"quality_edge": -0.4839,
"season_quality_edge": -0.8607,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.8607,
"recent_quality_edge": 0.216,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.4839
},
"margin_adjustment": -0.2032,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": -0.2032,
"cap": 1.4,
"scale": 0.42,
"quality_edge": -0.4839,
"season_quality_edge": -0.8607,
"recent_alignment": "conflict",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 3.992,
"home_runs": 3.666,
"home_win_probability": 0.4722
}
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.027260982179708917
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.026524350437002697
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.025297850532083055
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.025238907199931746
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.024614265487299142
}
],
"home_distribution": {
"0": 0.05591586175212937,
"1": 0.09437176553934942,
"2": 0.1350037086479908,
"3": 0.16369894458657835,
"4": 0.16824517613771023,
"5": 0.14656690741763548,
"6": 0.10822455002434812,
"7": 0.06773485643834136,
"8": 0.03593314268607091,
"9": 0.016157521801431714,
"10": 0.0061581584709058884,
"11": 0.001989406497508194
},
"away_distribution": {
"0": 0.04832750777898342,
"1": 0.08211807534705659,
"2": 0.11988208728302248,
"3": 0.15036300661230567,
"4": 0.16203128556503488,
"5": 0.15001266472729932,
"6": 0.11932409382093014,
"7": 0.0815454127873725,
"8": 0.04787867215891133,
"9": 0.024152151857891668,
"10": 0.01046744614840718,
"11": 0.0038975959127848063
},
"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": "MIA",
"opponent_team": "KC",
"h2h_net_margin": 6,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 9,
"opponent_runs": 6,
"margin_for_predicted_team": 3,
"winner": "MIA"
},
{
"date": "2026-09-01",
"predicted_team_runs": 6,
"opponent_runs": 3,
"margin_for_predicted_team": 3,
"winner": "MIA"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 1,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260902",
"away": "MIA",
"home": "KC",
"game_number": 1,
"predicted_team": "MIA",
"actual_winner": "MIA",
"actual_margin": 3,
"raw_pick_probability": 0.555608,
"artifact": "20260902_MIA@KC.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "MIA",
"home": "KC",
"game_number": 1,
"predicted_team": "KC",
"actual_winner": "MIA",
"actual_margin": 3,
"raw_pick_probability": 0.646375,
"artifact": "20260901_MIA@KC.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "MIA",
"guardrail_opponent_team": "KC",
"output_pre_simulation_winner": "MIA",
"output_opponent_team": "KC",
"simulation_score_winner": "MIA",
"final_score_winner": "MIA",
"pre_simulation_winner": "MIA",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"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.0209,
"recent_form_edge_home_minus_away": -0.134,
"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": 4,
"winner": "MIA",
"model_winner": "MIA",
"simulation_winner": "MIA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "MIA",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4839,
"winner": "MIA",
"score_reviewed": {
"away_runs": 5,
"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": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.44285714285714284,
"runs_scored": 599,
"runs_allowed": 688,
"run_differential": -89,
"run_differential_per_game": -0.6357142857142857,
"available": true
},
"away": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071428571428571,
"runs_scored": 612,
"runs_allowed": 594,
"run_differential": 18,
"run_differential_per_game": 0.12857142857142856,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.3266,
"final_margin": -0.3266,
"margin_cap": 1.5,
"season_quality_edge": 0.4839,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.509365,
"final_confidence": 0.5271,
"calibrated_pick_probability": 0.5271,
"shrinkage_weight": 0.976074,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.3266,
"calibration_sample_size": 471,
"calibration_empirical_hit_rate": 0.535,
"calibration_bayesian_hit_rate": 0.5337,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4839,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 4
},
"margin": -1,
"probability_before": 0.472901,
"margin_implied_home_probability": 0.415,
"shrinkage_weight": 0.976074,
"side_flipped": false,
"applied": true,
"probability_after": 0.443951,
"aligned_pick_probability": 0.556049
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"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.0209,
"recent_form_edge_home_minus_away": -0.134,
"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": 4,
"winner": "MIA",
"model_winner": "MIA",
"simulation_winner": "MIA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "MIA",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4839,
"winner": "MIA",
"score_reviewed": {
"away_runs": 5,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.54764165,
"home_win_probability": 0.45235835,
"away_win_probability": 0.54764165,
"predicted_score_text": "MIA 5 - 4 KC",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIA",
"original_runs": 5,
"run_delta": 0.1756,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.08060912056106194,
"contact": -0.019569601645113836,
"power": 0.13000888644463462,
"discipline": -0.08108858905017899,
"xwoba": 0.30928125,
"recent_xwoba": 0.30928125,
"barrel": 8.01875,
"ab_hard_contact": 0.10588010984507151,
"ab_bat_speed": 71.34737228338794,
"ab_strikeout_rate": 0.2295627953993853,
"available_players": 9,
"top_players": [
{
"player_id": "665052",
"player_name": "Griffin Conine",
"position": "RF",
"weight": 3.0,
"quality": 0.7643077212498247,
"contact": 0.7516462270671873,
"power": 1.4505062814980576,
"discipline": -0.3401881499726327,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 15.2,
"ab_hard_contact": 1.1087922966278219,
"ab_bat_speed": 72.68868917624522,
"ab_strikeout_rate": 0.3002873563218391,
"available": 1.0
},
{
"player_id": "681715",
"player_name": "Heriberto Hernández",
"position": "LF",
"weight": 4.0,
"quality": 0.777144237843694,
"contact": 0.620181294549575,
"power": 1.2982991618553874,
"discipline": -0.24406618023553506,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 14.0,
"ab_hard_contact": 0.9915070466315568,
"ab_bat_speed": 73.04960513739546,
"ab_strikeout_rate": 0.26630824372759854,
"available": 1.0
},
{
"player_id": "688363",
"player_name": "Graham Pauley",
"position": "3B",
"weight": 3.0,
"quality": -0.6150952501259708,
"contact": -1.628120419754872,
"power": -1.0004999668679864,
"discipline": -0.5308067169957412,
"xwoba": 0.226,
"recent_xwoba": 0.22600000000000003,
"barrel": 5.8,
"ab_hard_contact": -0.5014279087882983,
"ab_bat_speed": 70.22870257452574,
"ab_strikeout_rate": 0.22804878048780486,
"available": 1.0
},
{
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "1B",
"weight": 4.0,
"quality": 0.5264961045938138,
"contact": 0.4241477900148175,
"power": 1.1201182932834521,
"discipline": -0.5960634076325566,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 12.6,
"ab_hard_contact": 0.4745563418595117,
"ab_bat_speed": 73.60546242823371,
"ab_strikeout_rate": 0.3122340425531915,
"available": 1.0
},
{
"player_id": "682663",
"player_name": "Agustín Ramírez",
"position": "DH",
"weight": 4.0,
"quality": -0.4383337212168218,
"contact": -0.6259467711734877,
"power": -0.7941675327532994,
"discipline": 0.1061388888888889,
"xwoba": 0.274,
"recent_xwoba": 0.274,
"barrel": 3.2,
"ab_hard_contact": -0.4441125598278993,
"ab_bat_speed": 74.08193452380952,
"ab_strikeout_rate": 0.28174603174603174,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "608379",
"player_name": "Michael Wacha",
"quality": -0.06233840698083904,
"contact": 0.24443787332308725,
"command": -0.3435435897435898,
"movement": -0.7629097111401922,
"xwoba": 0.308,
"whiff": 21.4,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "KC",
"original_runs": 4,
"run_delta": 0.1504,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.28214547984706245,
"contact": 0.2096902139846794,
"power": 0.34992714541296766,
"discipline": -0.02508489056450116,
"xwoba": 0.31422857142857147,
"recent_xwoba": 0.31422857142857147,
"barrel": 8.611428571428572,
"ab_hard_contact": 0.13890209193282096,
"ab_bat_speed": 71.11452066742282,
"ab_strikeout_rate": 0.22494940303615657,
"available_players": 9,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"weight": 5.0,
"quality": 1.3041022919473626,
"contact": 1.5799807950417828,
"power": 1.3481114158982914,
"discipline": 0.3880097537457351,
"xwoba": 0.383,
"recent_xwoba": 0.383,
"barrel": 11.5,
"ab_hard_contact": 1.1507997465372592,
"ab_bat_speed": 72.77417036295307,
"ab_strikeout_rate": 0.17423230974632845,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"weight": 5.0,
"quality": 1.0087088186496143,
"contact": 1.1130367204830036,
"power": 1.5594789581150366,
"discipline": -0.6347998575498576,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 14.0,
"ab_hard_contact": 0.7316744003959668,
"ab_bat_speed": 75.75777835436169,
"ab_strikeout_rate": 0.2638990638990639,
"available": 1.0
},
{
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"weight": 3.0,
"quality": -0.6170532619536345,
"contact": -0.6214899228432472,
"power": -0.7583098577464117,
"discipline": -0.21855952380952381,
"xwoba": 0.265,
"recent_xwoba": 0.265,
"barrel": 3.2,
"ab_hard_contact": -0.8629590596901358,
"ab_bat_speed": 67.29166666666667,
"ab_strikeout_rate": 0.24444444444444444,
"available": 1.0
},
{
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "3B",
"weight": 3.0,
"quality": -0.41374260941751606,
"contact": -1.3085681852891347,
"power": -1.2399354531144322,
"discipline": -0.24344841269841266,
"xwoba": 0.225,
"recent_xwoba": 0.225,
"barrel": 1.3,
"ab_hard_contact": -0.7564233480029304,
"ab_bat_speed": 67.03933035714286,
"ab_strikeout_rate": 0.2244047619047619,
"available": 1.0
},
{
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"position": "DH",
"weight": 4.0,
"quality": 0.34416565701688234,
"contact": 0.35639638758466524,
"power": 0.19384184895288514,
"discipline": 0.8456180188124636,
"xwoba": 0.325,
"recent_xwoba": 0.325,
"barrel": 7.400000000000001,
"ab_hard_contact": 0.025789360010078546,
"ab_bat_speed": 69.15747080148932,
"ab_strikeout_rate": 0.16769547325102882,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "645261",
"player_name": "Sandy Alcantara",
"quality": 0.16112637167375415,
"contact": 0.5252670658915796,
"command": -0.4614007326007328,
"movement": 0.36055884383257053,
"xwoba": 0.295,
"whiff": 21.4,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4839,
"recent_form_edge_home_minus_away": -0.134,
"pitcher_matchup_edge_home_minus_away": -0.0209,
"composite_home_edge": -0.5256,
"existing_home_win_probability": 0.444,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.5256
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.443951,
"uncapped_away_win_probability": 0.556049,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.556049,
"discount_factor": 0.85,
"published_confidence": 0.547642,
"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": 5,
"home_runs": 4,
"predicted_score_text": "MIA 5 - 4 KC",
"confidence": 0.54764165,
"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": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIA 5 - 4 KC",
"winner": "MIA"
},
"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.0209,
"recent_form_edge_home_minus_away": -0.134,
"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": 4,
"winner": "MIA",
"model_winner": "MIA",
"simulation_winner": "MIA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "MIA",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4839,
"winner": "MIA",
"score_reviewed": {
"away_runs": 5,
"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": "MIA",
"display_confidence": 0.5476,
"internal_signal_score": 0.5501,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5476,
"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.4839,
"winner_recent_form_edge": -0.216,
"winner_pitcher_matchup_edge": 0.0209,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 3,
"median": 7,
"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 MIA | True | 1.0134 | 1.0134 | 1 | 9 | 0 |
| Home KC | True | 1.0220 | 1.0220 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Griffin Conine | 140 | 1.0895 | 1.1940 | neutral | 0.3690 | 0.2550 | 0.4920 | 15.20 | 50.80 | 91.50 | 11.30 | 38.80 | 30.70 | 12.20 | -0.0286 |
| SS | Otto Lopez | 5 | 1.0291 | 0.3877 | neutral | 0.3230 | 0.2820 | 0.4210 | 6.30 | 41.10 | 89.10 | 8.20 | 19.10 | 13.20 | 5.10 | -0.4571 |
| 2B | Javier Sanoja | 106 | 0.9658 | -0.4563 | negative_batter_regression | 0.2860 | 0.2650 | 0.3410 | 2.10 | 30.70 | 86.80 | 12 | 11.40 | 8.30 | 5.50 | -1.2571 |
| 1B | Kyle Stowers | 156 | 1.0585 | 0.7802 | neutral | 0.3320 | 0.2340 | 0.4420 | 12.60 | 55.70 | 92.40 | 18.30 | 35.90 | 31.90 | 9.70 | -0.4000 |
| LF | Heriberto Hernández | 68 | 1.0874 | 1.1656 | neutral | 0.3560 | 0.2500 | 0.4890 | 14 | 47.60 | 91.40 | 12.80 | 33.20 | 27 | 10.40 | 0.4571 |
| DH | Agustín Ramírez | 559 | 0.9644 | -0.4748 | neutral | 0.2740 | 0.2130 | 0.2840 | 3.20 | 39.20 | 89.20 | 5.30 | 29.90 | 23.50 | 11.70 | -0.6000 |
| CF | Jakob Marsee | 241 | 0.9836 | -0.2184 | neutral | 0.3040 | 0.2200 | 0.3170 | 3.60 | 34.70 | 87.30 | 17.60 | 18.70 | 21.30 | 13 | 0.0286 |
| 3B | Graham Pauley | 575 | 0.9507 | -0.6568 | negative_batter_regression | 0.2260 | 0.1890 | 0.2930 | 5.80 | 25.60 | 84.80 | 20.80 | 22.70 | 23.50 | 4.20 | -0.8857 |
| C | Joe Mack | 133 | 0.9920 | -0.1062 | neutral | 0.2930 | 0.2250 | 0.3920 | 8.60 | 38.50 | 88.20 | 9.90 | 25.60 | 25.40 | 6.20 | -0.3143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Salvador Perez | 603 | 1.0255 | 0.3395 | neutral | 0.3030 | 0.2370 | 0.4170 | 10 | 41.80 | 88.70 | 15.80 | 25.40 | 19.70 | 3.90 | 0.7143 |
| DH | Vinnie Pasquantino | 164 | 1.0383 | 0.5111 | neutral | 0.3250 | 0.2480 | 0.4060 | 7.40 | 40.90 | 89.60 | 20.60 | 15.90 | 15.90 | 11.30 | 0.3714 |
| C | Carter Jensen | 99 | 1.0101 | 0.1351 | neutral | 0.3010 | 0.2070 | 0.3840 | 11.20 | 44.70 | 91.30 | 20.50 | 29.30 | 28.40 | 11.10 | -0.6286 |
| 2B | Michael Massey | 85 | 1.0083 | 0.1108 | neutral | 0.3040 | 0.2490 | 0.4090 | 6.20 | 40.50 | 89.60 | 16.60 | 19.90 | 16.80 | 5.10 | -0.6857 |
| RF | Jac Caglianone | 55 | 1.0991 | 1.3216 | neutral | 0.3580 | 0.2800 | 0.5070 | 14 | 54.60 | 93.20 | 8 | 29.30 | 26.10 | 6 | 0.0571 |
| SS | Bobby Witt Jr. | 2 | 1.1281 | 1.7075 | positive_batter_regression | 0.3830 | 0.3050 | 0.5110 | 11.50 | 51 | 92.30 | 16.90 | 24.80 | 17.20 | 10.40 | 0.9429 |
| 3B | Josh Rojas | 222 | 0.9512 | -0.6501 | negative_batter_regression | 0.2250 | 0.1960 | 0.2760 | 1.30 | 30.30 | 86.60 | 18 | 20.20 | 15.80 | 4.20 | -1.8857 |
| LF | Isaac Collins | 200 | 0.9865 | -0.1800 | neutral | 0.2980 | 0.2270 | 0.3180 | 5.40 | 40.10 | 88.60 | 16.70 | 21.90 | 22.40 | 11.60 | -0.2571 |
| CF | Kyle Isbel | 329 | 0.9509 | -0.6541 | neutral | 0.2650 | 0.2280 | 0.3150 | 3.20 | 34.20 | 88.60 | 11.60 | 18.10 | 22.20 | 5.30 | -0.3714 |
{
"home": {
"applied": true,
"offense_factor": 1.022,
"raw_average_factor": 1.022,
"team_espn_average_rank": 195.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 1.0255,
"quality_score": 0.3395,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 603,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 603,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 502.0,
"ab_rank": "45",
"r_value": 47.0,
"r_rank": "159",
"h_value": 111.0,
"h_rank": "94",
"avg_value": 0.2211155,
"avg_rank": 127.0,
"2b_value": 21.0,
"2b_rank": "95",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 18.0,
"hr_rank": "76",
"rbi_value": 64.0,
"rbi_rank": "70",
"tb_value": 188.0,
"tb_rank": "683",
"bb_value": 21.0,
"bb_rank": "266",
"so_value": 107.0,
"so_rank": "89",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2656826,
"obp_rank": "145",
"slg_value": 0.3745019,
"slg_rank": "118",
"ops_value": 0.6401845,
"ops_rank": 142.0,
"war_value": -0.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 486.0,
"k_percent": 19.7,
"bb_percent": 3.9,
"woba": 0.278,
"xwoba": 0.303,
"xba": 0.237,
"xslg": 0.417,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 15.8,
"whiff_percent": 25.4,
"swing_percent": 56.7
},
"components": {
"expected_quality": 0.2785,
"regression_edge": 0.7143,
"xwoba_edge": 0.0571,
"xba_edge": 0.0286,
"xslg_edge": 0.7143,
"barrel_edge": 0.7444,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.1417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"offense_factor": 1.0383,
"quality_score": 0.5111,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686469",
"espn_id": 4109109,
"player_name": "Vinnie Pasquantino",
"team": "KC",
"role": "batter",
"espn_rank": 164,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 164,
"gp_value": 93.0,
"gp_rank": "228",
"ab_value": 345.0,
"ab_rank": "176",
"r_value": 41.0,
"r_rank": "193",
"h_value": 83.0,
"h_rank": "176",
"avg_value": 0.2405797,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": "189",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 41.0,
"rbi_rank": "182",
"tb_value": 129.0,
"tb_rank": "1102",
"bb_value": 45.0,
"bb_rank": "90",
"so_value": 63.0,
"so_rank": "241",
"sb_value": 5.0,
"sb_rank": "172",
"obp_value": 0.3299748,
"obp_rank": "-",
"slg_value": 0.373913,
"slg_rank": "-",
"ops_value": 0.7038878,
"ops_rank": null,
"war_value": 1.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 344.0,
"k_percent": 15.9,
"bb_percent": 11.3,
"woba": 0.312,
"xwoba": 0.325,
"xba": 0.248,
"xslg": 0.406,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 20.6,
"whiff_percent": 15.9,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.5339,
"regression_edge": 0.3714,
"xwoba_edge": 0.6857,
"xba_edge": 0.3429,
"xslg_edge": 0.5571,
"barrel_edge": 0.1667,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.175,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 1.0101,
"quality_score": 0.1351,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 99,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 455.0,
"ab_rank": "91",
"r_value": 63.0,
"r_rank": "86",
"h_value": 103.0,
"h_rank": "118",
"avg_value": 0.2263736,
"avg_rank": 123.0,
"2b_value": 26.0,
"2b_rank": "38",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 21.0,
"hr_rank": "48",
"rbi_value": 64.0,
"rbi_rank": "70",
"tb_value": 194.0,
"tb_rank": "566",
"bb_value": 58.0,
"bb_rank": "45",
"so_value": 148.0,
"so_rank": "18",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3128598,
"obp_rank": "103",
"slg_value": 0.4263736,
"slg_rank": "64",
"ops_value": 0.7392334,
"ops_rank": 79.0,
"war_value": 2.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 469.0,
"k_percent": 28.4,
"bb_percent": 11.1,
"woba": 0.323,
"xwoba": 0.301,
"xba": 0.207,
"xslg": 0.384,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 20.5,
"whiff_percent": 29.3,
"swing_percent": 44.2
},
"components": {
"expected_quality": 0.2594,
"regression_edge": -0.6286,
"xwoba_edge": 0.0,
"xba_edge": -0.8286,
"xslg_edge": 0.2429,
"barrel_edge": 1.0111,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.1583,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "686681",
"player_name": "Michael Massey",
"offense_factor": 1.0083,
"quality_score": 0.1108,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686681",
"espn_id": 4109223,
"player_name": "Michael Massey",
"team": "KC",
"role": "batter",
"espn_rank": 85,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 85,
"gp_value": 111.0,
"gp_rank": "158",
"ab_value": 344.0,
"ab_rank": "177",
"r_value": 46.0,
"r_rank": "164",
"h_value": 96.0,
"h_rank": "137",
"avg_value": 0.2790697,
"avg_rank": null,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 11.0,
"hr_rank": "158",
"rbi_value": 45.0,
"rbi_rank": "164",
"tb_value": 154.0,
"tb_rank": "672",
"bb_value": 19.0,
"bb_rank": "288",
"so_value": 62.0,
"so_rank": "245",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.4476744,
"slg_rank": "-",
"ops_value": 0.7601744,
"ops_rank": null,
"war_value": 2.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 350.0,
"k_percent": 16.8,
"bb_percent": 5.1,
"woba": 0.328,
"xwoba": 0.304,
"xba": 0.249,
"xslg": 0.409,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 16.6,
"whiff_percent": 19.9,
"swing_percent": 52.5
},
"components": {
"expected_quality": 0.2405,
"regression_edge": -0.6857,
"xwoba_edge": 0.0857,
"xba_edge": 0.3714,
"xslg_edge": 0.6,
"barrel_edge": -0.1,
"hard_hit_edge": 0.4,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.0583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0991,
"quality_score": 1.3216,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 55,
"gp_value": 128.0,
"gp_rank": "93",
"ab_value": 465.0,
"ab_rank": "82",
"r_value": 65.0,
"r_rank": "76",
"h_value": 131.0,
"h_rank": "45",
"avg_value": 0.2817204,
"avg_rank": 20.0,
"2b_value": 26.0,
"2b_rank": "38",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 23.0,
"hr_rank": "33",
"rbi_value": 67.0,
"rbi_rank": "58",
"tb_value": 230.0,
"tb_rank": "322",
"bb_value": 30.0,
"bb_rank": "195",
"so_value": 131.0,
"so_rank": "41",
"sb_value": 6.0,
"sb_rank": "151",
"obp_value": 0.3313373,
"obp_rank": "72",
"slg_value": 0.4946236,
"slg_rank": "18",
"ops_value": 0.8259609,
"ops_rank": 29.0,
"war_value": 3.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 454.0,
"k_percent": 26.1,
"bb_percent": 6.0,
"woba": 0.356,
"xwoba": 0.358,
"xba": 0.28,
"xslg": 0.507,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 54.6,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 8.0,
"whiff_percent": 29.3,
"swing_percent": 54.1
},
"components": {
"expected_quality": 1.5274,
"regression_edge": 0.0571,
"xwoba_edge": 1.6286,
"xba_edge": 1.2571,
"xslg_edge": 2.0,
"barrel_edge": 1.6333,
"hard_hit_edge": 2.4143,
"exit_velocity_edge": 1.88,
"sweet_spot_edge": 0.125,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.1281,
"quality_score": 1.7075,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677951",
"espn_id": 42403,
"player_name": "Bobby Witt Jr.",
"team": "KC",
"role": "batter",
"espn_rank": 2,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 2,
"gp_value": 121.0,
"gp_rank": "123",
"ab_value": 474.0,
"ab_rank": "78",
"r_value": 78.0,
"r_rank": "34",
"h_value": 135.0,
"h_rank": "35",
"avg_value": 0.2848101,
"avg_rank": 16.0,
"2b_value": 28.0,
"2b_rank": "19",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 16.0,
"hr_rank": "98",
"rbi_value": 50.0,
"rbi_rank": "135",
"tb_value": 213.0,
"tb_rank": "614",
"bb_value": 56.0,
"bb_rank": "52",
"so_value": 92.0,
"so_rank": "133",
"sb_value": 38.0,
"sb_rank": "3",
"obp_value": 0.3600746,
"obp_rank": "29",
"slg_value": 0.449367,
"slg_rank": "47",
"ops_value": 0.8094416,
"ops_rank": 40.0,
"war_value": 6.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 467.0,
"k_percent": 17.2,
"bb_percent": 10.4,
"woba": 0.35,
"xwoba": 0.383,
"xba": 0.305,
"xslg": 0.511,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 51.0,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 16.9,
"whiff_percent": 24.8,
"swing_percent": 47.7
},
"components": {
"expected_quality": 1.832,
"regression_edge": 0.9429,
"xwoba_edge": 2.3429,
"xba_edge": 1.9714,
"xslg_edge": 2.0571,
"barrel_edge": 1.0778,
"hard_hit_edge": 1.9,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.675,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "668942",
"player_name": "Josh Rojas",
"offense_factor": 0.9512,
"quality_score": -0.6501,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668942",
"espn_id": 40718,
"player_name": "Josh Rojas",
"team": "KC",
"role": "batter",
"espn_rank": 222,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 222,
"gp_value": 34.0,
"gp_rank": "442",
"ab_value": 89.0,
"ab_rank": "435",
"r_value": 10.0,
"r_rank": "444",
"h_value": 23.0,
"h_rank": "411",
"avg_value": 0.2584269,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": "402",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 13.0,
"rbi_rank": "383",
"tb_value": 33.0,
"tb_rank": "2628",
"bb_value": 4.0,
"bb_rank": "488",
"so_value": 15.0,
"so_rank": "503",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2903225,
"obp_rank": "-",
"slg_value": 0.3707865,
"slg_rank": "-",
"ops_value": 0.661109,
"ops_rank": null,
"war_value": 0.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 78.0,
"k_percent": 15.8,
"bb_percent": 4.2,
"woba": 0.291,
"xwoba": 0.225,
"xba": 0.196,
"xslg": 0.276,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 18.0,
"whiff_percent": 20.2,
"swing_percent": 49.6
},
"components": {
"expected_quality": -1.3728,
"regression_edge": -1.8857,
"xwoba_edge": -2.1714,
"xba_edge": -1.1429,
"xslg_edge": -1.3,
"barrel_edge": -1.1889,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": -0.0583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.9865,
"quality_score": -0.18,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 200,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 200,
"gp_value": 125.0,
"gp_rank": "102",
"ab_value": 391.0,
"ab_rank": "133",
"r_value": 42.0,
"r_rank": "187",
"h_value": 90.0,
"h_rank": "152",
"avg_value": 0.230179,
"avg_rank": 117.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 40.0,
"rbi_rank": "190",
"tb_value": 137.0,
"tb_rank": "1103",
"bb_value": 53.0,
"bb_rank": "60",
"so_value": 102.0,
"so_rank": "103",
"sb_value": 6.0,
"sb_rank": "151",
"obp_value": 0.3289183,
"obp_rank": "77",
"slg_value": 0.3503836,
"slg_rank": "138",
"ops_value": 0.6793019,
"ops_rank": 125.0,
"war_value": 1.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 412.0,
"k_percent": 22.4,
"bb_percent": 11.6,
"woba": 0.307,
"xwoba": 0.298,
"xba": 0.227,
"xslg": 0.318,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 40.1,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 16.7,
"whiff_percent": 21.9,
"swing_percent": 40.4
},
"components": {
"expected_quality": -0.1674,
"regression_edge": -0.2571,
"xwoba_edge": -0.0857,
"xba_edge": -0.2571,
"xslg_edge": -0.7,
"barrel_edge": -0.2778,
"hard_hit_edge": 0.3429,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -0.375,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "664728",
"player_name": "Kyle Isbel",
"offense_factor": 0.9509,
"quality_score": -0.6541,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664728",
"espn_id": 41263,
"player_name": "Kyle Isbel",
"team": "KC",
"role": "batter",
"espn_rank": 329,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 329,
"gp_value": 80.0,
"gp_rank": "283",
"ab_value": 240.0,
"ab_rank": "268",
"r_value": 26.0,
"r_rank": "291",
"h_value": 55.0,
"h_rank": "265",
"avg_value": 0.2291666,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 24.0,
"rbi_rank": "296",
"tb_value": 84.0,
"tb_rank": "1632",
"bb_value": 14.0,
"bb_rank": "342",
"so_value": 59.0,
"so_rank": "261",
"sb_value": 6.0,
"sb_rank": "151",
"obp_value": 0.2779922,
"obp_rank": "-",
"slg_value": 0.35,
"slg_rank": "-",
"ops_value": 0.6279922,
"ops_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 22.2,
"bb_percent": 5.3,
"woba": 0.278,
"xwoba": 0.265,
"xba": 0.228,
"xslg": 0.315,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 34.2,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 11.6,
"whiff_percent": 18.1,
"swing_percent": 47.9
},
"components": {
"expected_quality": -0.7035,
"regression_edge": -0.3714,
"xwoba_edge": -1.0286,
"xba_edge": -0.2286,
"xslg_edge": -0.7429,
"barrel_edge": -0.7667,
"hard_hit_edge": -0.5,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -1.1583,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0134,
"raw_average_factor": 1.0134,
"team_espn_average_rank": 220.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "665052",
"player_name": "Griffin Conine",
"offense_factor": 1.0895,
"quality_score": 1.194,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665052",
"espn_id": 41295,
"player_name": "Griffin Conine",
"team": "MIA",
"role": "batter",
"espn_rank": 140,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 140,
"gp_value": 72.0,
"gp_rank": "314",
"ab_value": 205.0,
"ab_rank": "303",
"r_value": 32.0,
"r_rank": "250",
"h_value": 52.0,
"h_rank": "280",
"avg_value": 0.2536585,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": "351",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 32.0,
"rbi_rank": "247",
"tb_value": 100.0,
"tb_rank": "1558",
"bb_value": 29.0,
"bb_rank": "202",
"so_value": 73.0,
"so_rank": "194",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.3571428,
"obp_rank": "-",
"slg_value": 0.4878048,
"slg_rank": "-",
"ops_value": 0.8449476,
"ops_rank": null,
"war_value": 1.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 196.0,
"k_percent": 30.7,
"bb_percent": 12.2,
"woba": 0.37,
"xwoba": 0.369,
"xba": 0.255,
"xslg": 0.492,
"sweet_spot_percent": 40.9,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 11.3,
"whiff_percent": 38.8,
"swing_percent": 47.5
},
"components": {
"expected_quality": 1.563,
"regression_edge": -0.0286,
"xwoba_edge": 1.9429,
"xba_edge": 0.5429,
"xslg_edge": 1.7857,
"barrel_edge": 1.9,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 1.275,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "672640",
"player_name": "Otto Lopez",
"offense_factor": 1.0291,
"quality_score": 0.3877,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672640",
"espn_id": 41917,
"player_name": "Otto Lopez",
"team": "MIA",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 5,
"gp_value": 136.0,
"gp_rank": "28",
"ab_value": 546.0,
"ab_rank": "4",
"r_value": 82.0,
"r_rank": "24",
"h_value": 166.0,
"h_rank": "1",
"avg_value": 0.3040293,
"avg_rank": 6.0,
"2b_value": 30.0,
"2b_rank": "11",
"3b_value": 8.0,
"3b_rank": "2",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 62.0,
"rbi_rank": "76",
"tb_value": 242.0,
"tb_rank": "526",
"bb_value": 30.0,
"bb_rank": "195",
"so_value": 78.0,
"so_rank": "180",
"sb_value": 29.0,
"sb_rank": "10",
"obp_value": 0.3384094,
"obp_rank": "58",
"slg_value": 0.4432234,
"slg_rank": "52",
"ops_value": 0.7816328,
"ops_rank": 53.0,
"war_value": 5.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 531.0,
"k_percent": 13.2,
"bb_percent": 5.1,
"woba": 0.339,
"xwoba": 0.323,
"xba": 0.282,
"xslg": 0.421,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 8.2,
"whiff_percent": 19.1,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.5252,
"regression_edge": -0.4571,
"xwoba_edge": 0.6286,
"xba_edge": 1.3143,
"xslg_edge": 0.7714,
"barrel_edge": -0.0778,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.4583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "691594",
"player_name": "Javier Sanoja",
"offense_factor": 0.9658,
"quality_score": -0.4563,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691594",
"espn_id": 5073992,
"player_name": "Javier Sanoja",
"team": "MIA",
"role": "batter",
"espn_rank": 106,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 106,
"gp_value": 122.0,
"gp_rank": "119",
"ab_value": 373.0,
"ab_rank": "150",
"r_value": 37.0,
"r_rank": "215",
"h_value": 107.0,
"h_rank": "102",
"avg_value": 0.2868632,
"avg_rank": null,
"2b_value": 28.0,
"2b_rank": "19",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 53.0,
"rbi_rank": "117",
"tb_value": 160.0,
"tb_rank": "987",
"bb_value": 22.0,
"bb_rank": "259",
"so_value": 33.0,
"so_rank": "386",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.3257575,
"obp_rank": "-",
"slg_value": 0.4289544,
"slg_rank": "-",
"ops_value": 0.7547119,
"ops_rank": null,
"war_value": 2.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 339.0,
"k_percent": 8.3,
"bb_percent": 5.5,
"woba": 0.33,
"xwoba": 0.286,
"xba": 0.265,
"xslg": 0.341,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 30.7,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 12.0,
"whiff_percent": 11.4,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.326,
"regression_edge": -1.2571,
"xwoba_edge": -0.4286,
"xba_edge": 0.8286,
"xslg_edge": -0.3714,
"barrel_edge": -1.0111,
"hard_hit_edge": -1.0,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669065",
"player_name": "Kyle Stowers",
"offense_factor": 1.0585,
"quality_score": 0.7802,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669065",
"espn_id": 42796,
"player_name": "Kyle Stowers",
"team": "MIA",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 156,
"gp_value": 103.0,
"gp_rank": "183",
"ab_value": 381.0,
"ab_rank": "140",
"r_value": 48.0,
"r_rank": "157",
"h_value": 94.0,
"h_rank": "138",
"avg_value": 0.2467191,
"avg_rank": 87.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 18.0,
"hr_rank": "76",
"rbi_value": 59.0,
"rbi_rank": "88",
"tb_value": 179.0,
"tb_rank": "473",
"bb_value": 42.0,
"bb_rank": "104",
"so_value": 138.0,
"so_rank": "33",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3310185,
"obp_rank": "72",
"slg_value": 0.4698162,
"slg_rank": "33",
"ops_value": 0.8008347,
"ops_rank": 46.0,
"war_value": 1.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 396.0,
"k_percent": 31.9,
"bb_percent": 9.7,
"woba": 0.346,
"xwoba": 0.332,
"xba": 0.234,
"xslg": 0.442,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 12.6,
"hard_hit_percent": 55.7,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 18.3,
"whiff_percent": 35.9,
"swing_percent": 52.6
},
"components": {
"expected_quality": 0.9724,
"regression_edge": -0.4,
"xwoba_edge": 0.8857,
"xba_edge": -0.0571,
"xslg_edge": 1.0714,
"barrel_edge": 1.3222,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": 0.425,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"offense_factor": 1.0874,
"quality_score": 1.1656,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681715",
"espn_id": 42455,
"player_name": "Heriberto Hernandez",
"team": "MIA",
"role": "batter",
"espn_rank": 68,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 68,
"gp_value": 108.0,
"gp_rank": "164",
"ab_value": 358.0,
"ab_rank": "163",
"r_value": 42.0,
"r_rank": "187",
"h_value": 83.0,
"h_rank": "176",
"avg_value": 0.2318435,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 22.0,
"hr_rank": "41",
"rbi_value": 60.0,
"rbi_rank": "83",
"tb_value": 167.0,
"tb_rank": "735",
"bb_value": 42.0,
"bb_rank": "104",
"so_value": 109.0,
"so_rank": "85",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3168316,
"obp_rank": "-",
"slg_value": 0.4664804,
"slg_rank": "-",
"ops_value": 0.783312,
"ops_rank": null,
"war_value": 2.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 343.0,
"k_percent": 27.0,
"bb_percent": 10.4,
"woba": 0.34,
"xwoba": 0.356,
"xba": 0.25,
"xslg": 0.489,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 47.6,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 12.8,
"whiff_percent": 33.2,
"swing_percent": 45.4
},
"components": {
"expected_quality": 1.281,
"regression_edge": 0.4571,
"xwoba_edge": 1.5714,
"xba_edge": 0.4,
"xslg_edge": 1.7429,
"barrel_edge": 1.6333,
"hard_hit_edge": 1.4143,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": -0.0083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "682663",
"player_name": "Agustín Ramírez",
"offense_factor": 0.9644,
"quality_score": -0.4748,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682663",
"espn_id": 5132014,
"player_name": "Agustin Ramirez",
"team": "MIA",
"role": "batter",
"espn_rank": 559,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 559,
"gp_value": 53.0,
"gp_rank": "376",
"ab_value": 170.0,
"ab_rank": "342",
"r_value": 25.0,
"r_rank": "299",
"h_value": 39.0,
"h_rank": "339",
"avg_value": 0.2294117,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": "306",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 17.0,
"rbi_rank": "350",
"tb_value": 55.0,
"tb_rank": "2150",
"bb_value": 23.0,
"bb_rank": "244",
"so_value": 46.0,
"so_rank": "318",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.3265306,
"obp_rank": "-",
"slg_value": 0.3235294,
"slg_rank": "-",
"ops_value": 0.65006,
"ops_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 162.0,
"k_percent": 23.5,
"bb_percent": 11.7,
"woba": 0.295,
"xwoba": 0.274,
"xba": 0.213,
"xslg": 0.284,
"sweet_spot_percent": 24.8,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 39.2,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 5.3,
"whiff_percent": 29.9,
"swing_percent": 48.4
},
"components": {
"expected_quality": -0.6521,
"regression_edge": -0.6,
"xwoba_edge": -0.7714,
"xba_edge": -0.6571,
"xslg_edge": -1.1857,
"barrel_edge": -0.7667,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -1.4083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "805300",
"player_name": "Jakob Marsee",
"offense_factor": 0.9836,
"quality_score": -0.2184,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805300",
"espn_id": 4866735,
"player_name": "Jakob Marsee",
"team": "MIA",
"role": "batter",
"espn_rank": 241,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 241,
"gp_value": 134.0,
"gp_rank": "45",
"ab_value": 444.0,
"ab_rank": "100",
"r_value": 68.0,
"r_rank": "59",
"h_value": 93.0,
"h_rank": "143",
"avg_value": 0.2094594,
"avg_rank": 141.0,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 5.0,
"3b_rank": "13",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 32.0,
"rbi_rank": "247",
"tb_value": 146.0,
"tb_rank": "650",
"bb_value": 69.0,
"bb_rank": "20",
"so_value": 113.0,
"so_rank": "74",
"sb_value": 21.0,
"sb_rank": "21",
"obp_value": 0.3307984,
"obp_rank": "72",
"slg_value": 0.3288288,
"slg_rank": "143",
"ops_value": 0.6596272,
"ops_rank": 133.0,
"war_value": 0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 479.0,
"k_percent": 21.3,
"bb_percent": 13.0,
"woba": 0.303,
"xwoba": 0.304,
"xba": 0.22,
"xslg": 0.317,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 34.7,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 17.6,
"whiff_percent": 18.7,
"swing_percent": 39.9
},
"components": {
"expected_quality": -0.2586,
"regression_edge": 0.0286,
"xwoba_edge": 0.0857,
"xba_edge": -0.4571,
"xslg_edge": -0.7143,
"barrel_edge": -0.6778,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.3417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "688363",
"player_name": "Graham Pauley",
"offense_factor": 0.9507,
"quality_score": -0.6568,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "688363",
"espn_id": 4622931,
"player_name": "Graham Pauley",
"team": "MIA",
"role": "batter",
"espn_rank": 575,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 575,
"gp_value": 47.0,
"gp_rank": "397",
"ab_value": 112.0,
"ab_rank": "414",
"r_value": 11.0,
"r_rank": "430",
"h_value": 23.0,
"h_rank": "411",
"avg_value": 0.2053571,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 18.0,
"rbi_rank": "346",
"tb_value": 40.0,
"tb_rank": "2201",
"bb_value": 5.0,
"bb_rank": "466",
"so_value": 28.0,
"so_rank": "421",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2372881,
"obp_rank": "-",
"slg_value": 0.3571428,
"slg_rank": "-",
"ops_value": 0.5944309,
"ops_rank": null,
"war_value": -0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 114.0,
"k_percent": 23.5,
"bb_percent": 4.2,
"woba": 0.257,
"xwoba": 0.226,
"xba": 0.189,
"xslg": 0.293,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 25.6,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 20.8,
"whiff_percent": 22.7,
"swing_percent": 46.9
},
"components": {
"expected_quality": -1.3296,
"regression_edge": -0.8857,
"xwoba_edge": -2.1429,
"xba_edge": -1.3429,
"xslg_edge": -1.0571,
"barrel_edge": -0.1889,
"hard_hit_edge": -1.7286,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.075,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691788",
"player_name": "Joe Mack",
"offense_factor": 0.992,
"quality_score": -0.1062,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691788",
"espn_id": 4872695,
"player_name": "Joe Mack",
"team": "MIA",
"role": "batter",
"espn_rank": 133,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 133,
"gp_value": 87.0,
"gp_rank": "252",
"ab_value": 252.0,
"ab_rank": "257",
"r_value": 33.0,
"r_rank": "243",
"h_value": 59.0,
"h_rank": "256",
"avg_value": 0.2341269,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": "306",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 39.0,
"rbi_rank": "197",
"tb_value": 103.0,
"tb_rank": "1582",
"bb_value": 17.0,
"bb_rank": "311",
"so_value": 70.0,
"so_rank": "215",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2867647,
"obp_rank": "-",
"slg_value": 0.4087301,
"slg_rank": "-",
"ops_value": 0.6954948,
"ops_rank": null,
"war_value": 1.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 25.4,
"bb_percent": 6.2,
"woba": 0.304,
"xwoba": 0.293,
"xba": 0.225,
"xslg": 0.392,
"sweet_spot_percent": 26.2,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 9.9,
"whiff_percent": 25.6,
"swing_percent": 47.5
},
"components": {
"expected_quality": -0.0724,
"regression_edge": -0.3143,
"xwoba_edge": -0.2286,
"xba_edge": -0.3143,
"xslg_edge": 0.3571,
"barrel_edge": 0.4333,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -1.175,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | True | 24 | 0.1549 | 1 | 0.9868 | 0.9554 | 0.9460 | 0.9306 | neutral | 0.2950 | 0.2940 | 17.90 | 6.40 | 21.40 | 5.10 | 34.90 | |
| Home KC | True | 22 | -0.0172 | 1 | 1.0015 | 0.9663 | 0.9400 | 0.9823 | neutral | 0.3080 | 0.2980 | 19.80 | 6.10 | 21.40 | 6.80 | 36.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | True | None | 102 | 92.51 | 2245 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1481 | |
| Home KC | True | None | 92 | 86.98 | 1984 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1615 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0072 |
| home_runs_vs_away_pitcher | 0.9968 |
| home_pitcher_starter_only_factor | 1.0015 |
| away_pitcher_starter_only_factor | 0.9868 |
| home_pitcher_workload_share | 0.7037 |
| away_pitcher_workload_share | 0.7037 |
| home_pitcher_quality_edge | -0.1211 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "608379",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 604.0,
"k_percent": 19.8,
"bb_percent": 6.1,
"woba": 0.298,
"xwoba": 0.308,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 36.7,
"avg_best_speed": 77.713,
"avg_hyper_speed": 93.6019,
"whiff_percent": 21.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1246,
"command_and_miss": -0.175,
"regression_edge": -0.2857,
"xwoba_edge": 0.0857,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.1571,
"whiff_edge": -0.5429,
"bb_edge": 0.75,
"pitch_design_score": -0.1615
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608379",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9836,
"release_spin_rate": 1984.1136,
"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.1615,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1538,
"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.0172,
"sample_weight": 1.0,
"run_prevention_factor": 1.0015,
"strikeout_factor": 0.9663,
"walk_factor": 0.94,
"homer_factor": 0.9823,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608379",
"espn_id": 32640,
"player_name": "Michael Wacha",
"team": "KC",
"role": "pitcher",
"espn_rank": 22,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 22,
"gp_value": 27.0,
"gp_rank": 251,
"gs_value": 27.0,
"gs_rank": 19,
"qs_value": 18.0,
"qs_rank": 4,
"era_value": 3.3222,
"era_rank": 21.0,
"w_value": 8.0,
"w_rank": 58,
"l_value": 8.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 170.2,
"ip_rank": 4,
"h_value": 145.0,
"h_rank": 19,
"er_value": 63.0,
"er_rank": 49,
"hr_value": 22.0,
"hr_rank": 20,
"bb_value": 42.0,
"bb_rank": 65,
"k_value": 136.0,
"k_rank": 45,
"k_per_9_value": 7.171875,
"k_per_9_rank": 303,
"whip_value": 1.0957,
"whip_rank": 14.0,
"war_value": 3.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "645261",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 724.0,
"k_percent": 17.9,
"bb_percent": 6.4,
"woba": 0.294,
"xwoba": 0.295,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 34.9,
"avg_best_speed": 77.4385,
"avg_hyper_speed": 93.497,
"whiff_percent": 21.4,
"swing_percent": 50.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4055,
"command_and_miss": -0.3121,
"regression_edge": -0.0286,
"xwoba_edge": 0.4571,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.5429,
"bb_edge": 0.675,
"pitch_design_score": 0.1481
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "645261",
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5128,
"release_spin_rate": 2245.0965,
"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.1481,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0579,
"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.1549,
"sample_weight": 1.0,
"run_prevention_factor": 0.9868,
"strikeout_factor": 0.9554,
"walk_factor": 0.946,
"homer_factor": 0.9306,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645261",
"espn_id": 35241,
"player_name": "Sandy Alcantara",
"team": "MIA",
"role": "pitcher",
"espn_rank": 24,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 24,
"gp_value": 29.0,
"gp_rank": 216,
"gs_value": 29.0,
"gs_rank": 1,
"qs_value": 21.0,
"qs_rank": 1,
"era_value": 3.4639,
"era_rank": 25.0,
"w_value": 13.0,
"w_rank": 9,
"l_value": 8.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 189.2,
"ip_rank": 1,
"h_value": 175.0,
"h_rank": 1,
"er_value": 73.0,
"er_rank": 16,
"hr_value": 18.0,
"hr_rank": 46,
"bb_value": 50.0,
"bb_rank": 30,
"k_value": 140.0,
"k_rank": 35,
"k_per_9_value": 6.643234,
"k_per_9_rank": 945,
"whip_value": 1.1862,
"whip_rank": 27.0,
"war_value": 3.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0072,
"home_runs_vs_away_pitcher": 0.9968,
"home_pitcher_starter_only_factor": 1.0015,
"away_pitcher_starter_only_factor": 0.9868,
"home_pitcher_workload_share": 0.7037,
"away_pitcher_workload_share": 0.7037,
"home_pitcher_quality_edge": -0.1211
},
"score_before": {
"away_runs": 4.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 4.0288,
"home_runs": 3.9872,
"home_win_probability": 0.4943
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away MIA | 5-5 | 0.500 | 4.50 | 4.40 | 1 | 2W | average | average |
| Home KC | 6-4 | 0.600 | 5.30 | 4.50 | 8 | 3L | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIA | 71-69 | 0.507 | 18 | 0.129 | True |
| Home KC | 62-78 | 0.443 | -89 | -0.636 | True |
| Signal | - | - | -0.764 | -0.484 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | MIA @ KC | 9 - 6 | MIA | 3 | blowout |
| 2026-09-01 | MIA @ KC | 6 - 3 | MIA | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIA | - | - | 5 | - | - | - | - |
| Game target KC | - | - | 4 | - | - | - | - |
| Player finalized MIA | 32 | 8 | 4 | 1 | 5 | 3 | 8 |
| Player finalized KC | 35 | 8 | 4 | 1 | 4 | 3 | 7 |
| Player model fractional MIA | 31.74 | 7.86 | 3.98 | 1.23 | 4.44 | 2.83 | 7.79 |
| Player model fractional KC | 33.59 | 8.30 | 3.83 | 1.17 | 4.24 | 2.74 | 7.09 |
| Simulation box MIA | 37 | 10 | 5 | 1 | 5 | 4 | 5 |
| Simulation box KC | 32 | 5 | 4 | 1 | 4 | 3 | 5 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | Starter | Sandy Alcantara | 6.10 | 1 | 2 | 0 | 1 | 2.92 | 1.15 | True |
| Away MIA | Closer | Calvin Faucher | 1 | 0 | 1 | 0 | 1 | 2.61 | 0.86 | True |
| Away MIA | Setup Man | Tyler Zuber | 1 | 1 | 0 | 2 | 0 | 5.31 | 1.33 | True |
| Away MIA | Middle Reliever (High Leverage) | Michael Petersen | 0.20 | 2 | 2 | 3 | 1 | 3.04 | 1.47 | True |
| Home KC | Starter | Michael Wacha | 6.10 | 3 | 5 | 8 | 2 | 3.20 | 1.01 | True |
| Home KC | Setup Man | Nate Pearson | 1 | 0 | 0 | 0 | 1 | 2.29 | 1.27 | True |
| Home KC | Closer | Steven Cruz | 1 | 2 | 0 | 2 | 1 | 5.09 | 1.49 | True |
| Home KC | Middle Reliever (High Leverage) | Craig Kimbrel | 0.20 | 0 | 0 | 0 | 0 | 2.77 | 1.01 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | KC | pitcher | Starter | Michael Wacha | better | 3 | 1 | 2 | 2 | 1 | predicted_SO | 5.0000 | boost | better |
| home | KC | pitcher | Middle Reliever (High Leverage) | Craig Kimbrel | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| away | MIA | batter | RF | Griffin Conine | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 1.9850 | boost | better |
| away | MIA | batter | CF | Jakob Marsee | better | 11 | 6 | 5 | 7 | 4 | predicted_2B | 1.8780 | boost | better |
| away | MIA | batter | DH | Agustín Ramírez | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.7400 | boost | better |
| away | MIA | batter | 2B | Javier Sanoja | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.6400 | boost | better |
| away | MIA | batter | 3B | Graham Pauley | worse | 11 | 6 | 5 | 5 | 6 | predicted_H | 1.3800 | boost | better |
| away | MIA | batter | 1B | Kyle Stowers | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.3400 | deboost | better |
| home | KC | batter | LF | Isaac Collins | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.3000 | boost | better |
| home | KC | batter | C | Carter Jensen | worse | 9 | 3 | 6 | 4 | 5 | predicted_RBI | 1.2600 | boost | better |
| home | KC | batter | RF | Jac Caglianone | worse | 10 | 1 | 9 | 1 | 9 | predicted_H | -1.1700 | deboost | worse |
| home | KC | batter | SS | Bobby Witt Jr. | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -1.1700 | deboost | worse |
| home | KC | pitcher | Setup Man | Nate Pearson | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | KC | pitcher | Closer | Steven Cruz | worse | 1 | 1 | 0 | 0 | 1 | predicted_ER | 1.0000 | boost | worse |
| away | MIA | batter | SS | Otto Lopez | worse | 12 | 3 | 9 | 4 | 8 | predicted_AB | -0.9900 | deboost | worse |
| away | MIA | batter | LF | Heriberto Hernández | worse | 8 | 2 | 6 | 2 | 6 | predicted_AB | 0.9600 | boost | better |
| away | MIA | batter | C | Joe Mack | better | 8 | 6 | 2 | 5 | 3 | predicted_HR | 0.9000 | boost | better |
| home | KC | batter | DH | Vinnie Pasquantino | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.8910 | deboost | worse |
| home | KC | batter | 1B | Salvador Perez | better | 9 | 6 | 3 | 7 | 2 | predicted_AB | -0.8600 | deboost | worse |
| home | KC | batter | 3B | Josh Rojas | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.8300 | deboost | worse |
| home | KC | batter | CF | Kyle Isbel | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | 0.8180 | boost | better |
| home | KC | batter | 2B | Michael Massey | worse | 10 | 4 | 6 | 3 | 7 | predicted_R | 0.5740 | boost | better |
| away | MIA | pitcher | Middle Reliever (High Leverage) | Michael Petersen | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | MIA | pitcher | Starter | Sandy Alcantara | 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 | Sandy Alcantara |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1549 |
| ESPN Rank | 24 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1481 |
| Avg Velo | 92.5128 |
| Avg Spin | 2245.0965 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 3.4640 |
| Season WHIP | 1.1863 |
| Role Avg IP | 6.5400 |
| Recent Avg IP | 6.6000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"opponent": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"edges": {
"quality_edge": 0.1132,
"offense_edge": -0.0267,
"opponent_offense_edge": -0.0473,
"defense_strength": 0.0585,
"opponent_defense_weakness": 0.0861,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0082,
"run_prevention": 0.9809,
"strikeout": 1.0072
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "645261",
"profile": {
"available": true,
"pitcher_id": "645261",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 724.0,
"k_percent": 17.9,
"bb_percent": 6.4,
"woba": 0.294,
"xwoba": 0.295,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 34.9,
"avg_best_speed": 77.4385,
"avg_hyper_speed": 93.497,
"whiff_percent": 21.4,
"swing_percent": 50.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4055,
"command_and_miss": -0.3121,
"regression_edge": -0.0286,
"xwoba_edge": 0.4571,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.5429,
"bb_edge": 0.675,
"pitch_design_score": 0.1481
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "645261",
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5128,
"release_spin_rate": 2245.0965,
"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.1481,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0579,
"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.1549,
"sample_weight": 1.0,
"run_prevention_factor": 0.9868,
"strikeout_factor": 0.9554,
"walk_factor": 0.946,
"homer_factor": 0.9306,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645261",
"espn_id": 35241,
"player_name": "Sandy Alcantara",
"team": "MIA",
"role": "pitcher",
"espn_rank": 24,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 24,
"gp_value": 29.0,
"gp_rank": 216,
"gs_value": 29.0,
"gs_rank": 1,
"qs_value": 21.0,
"qs_rank": 1,
"era_value": 3.4639,
"era_rank": 25.0,
"w_value": 13.0,
"w_rank": 9,
"l_value": 8.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 189.2,
"ip_rank": 1,
"h_value": 175.0,
"h_rank": 1,
"er_value": 73.0,
"er_rank": 16,
"hr_value": 18.0,
"hr_rank": 46,
"bb_value": 50.0,
"bb_rank": 30,
"k_value": 140.0,
"k_rank": 35,
"k_per_9_value": 6.643234,
"k_per_9_rank": 945,
"whip_value": 1.1862,
"whip_rank": 27.0,
"war_value": 3.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9868,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9868,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.946,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9306,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9554,
"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": 66.0,
"ER": 18,
"H": 53,
"BB": 17,
"SO": 48,
"HR": 6,
"ERA": 2.4545454545454546,
"WHIP": 1.0606060606060606,
"K9": 6.545454545454546,
"HR9": 0.8181818181818182,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "645261",
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.51275382443535,
"release_spin_rate": 2245.096491486143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5128,
"release_spin_rate": 2245.0965,
"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.1481,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0579,
"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": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "645261",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.0,
"ER": 9.0,
"R": 9.0,
"H": 28.0,
"BB": 9.0,
"SO": 20.0,
"HR": 1.0,
"BF": 135.0,
"Pitches": 504.0
},
"per_game": {
"IP": 6.2,
"ER": 1.8,
"R": 1.8,
"H": 5.6,
"BB": 1.8,
"SO": 4.0,
"HR": 0.2,
"BF": 27.0,
"Pitches": 100.8
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.1212,
"ER_per_IP": 0.27273,
"H_per_IP": 0.84848,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.60606,
"HR_per_IP": 0.0303
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 66.0,
"ER": 18.0,
"R": 18.0,
"H": 53.0,
"BB": 17.0,
"SO": 48.0,
"HR": 6.0,
"BF": 267.0,
"Pitches": 1014.0
},
"per_game": {
"IP": 6.2,
"ER": 1.8,
"R": 1.8,
"H": 5.3,
"BB": 1.7,
"SO": 4.8,
"HR": 0.6,
"BF": 26.7,
"Pitches": 101.4
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.0606,
"ER_per_IP": 0.27273,
"H_per_IP": 0.80303,
"BB_per_IP": 0.25758,
"SO_per_IP": 0.72727,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 29,
"totals": {
"IP": 189.2,
"ER": 73.0,
"R": 78.0,
"H": 175.0,
"BB": 50.0,
"SO": 140.0,
"HR": 18.0,
"BF": 784.0,
"Pitches": 2863.0
},
"per_game": {
"IP": 6.2,
"ER": 2.5172,
"R": 2.6897,
"H": 6.0345,
"BB": 1.7241,
"SO": 4.8276,
"HR": 0.6207,
"BF": 27.0345,
"Pitches": 98.7241
},
"rates": {
"ERA": 3.464,
"WHIP": 1.1863,
"ER_per_IP": 0.38489,
"H_per_IP": 0.92267,
"BB_per_IP": 0.26362,
"SO_per_IP": 0.73814,
"HR_per_IP": 0.0949
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 2.15,
"predicted_H": 5.73,
"predicted_BB": 1.86,
"predicted_SO": 4.723,
"predicted_HR": 0.506,
"predicted_ERA": 2.9244,
"predicted_WHIP": 1.1469
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4121,
"form_weight": 0.5879,
"form_reliability": 0.8529,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.15,
"final": 1.676,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 5.73,
"final": 3.3684,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.86,
"final": 1.5056,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.723,
"final": 3.6007,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.506,
"final": 0.2975,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9244,
"final": 2.9244,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1469,
"final": 1.1469,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Calvin Faucher |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2277 |
| ESPN Rank | 389 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.7709 |
| Season WHIP | 1.3073 |
| Role Avg IP | 0.9940 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"opponent": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"edges": {
"quality_edge": 0.1132,
"offense_edge": -0.0267,
"opponent_offense_edge": -0.0473,
"defense_strength": 0.0585,
"opponent_defense_weakness": 0.0861,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0082,
"run_prevention": 0.9809,
"strikeout": 1.0072
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676534",
"profile": {
"available": true,
"pitcher_id": "676534",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 229.0,
"k_percent": 25.1,
"bb_percent": 12.5,
"woba": 0.275,
"xwoba": 0.294,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 39.1,
"avg_best_speed": 76.9558,
"avg_hyper_speed": 94.1406,
"whiff_percent": 26.7,
"swing_percent": 42.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4895,
"command_and_miss": 0.1107,
"regression_edge": -0.5429,
"xwoba_edge": 0.4857,
"barrel_edge": 0.4889,
"hard_hit_edge": -0.1857,
"whiff_edge": 0.2143,
"bb_edge": -0.85,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676534",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2277,
"sample_weight": 0.916,
"run_prevention_factor": 0.9806,
"strikeout_factor": 1.0246,
"walk_factor": 1.0623,
"homer_factor": 0.9576,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676534",
"espn_id": 3978173,
"player_name": "Calvin Faucher",
"team": "MIA",
"role": "pitcher",
"espn_rank": 389,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 389,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.7709,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 15.0,
"hld_rank": 33,
"ip_value": 59.2,
"ip_rank": 219,
"h_value": 46.0,
"h_rank": 253,
"er_value": 25.0,
"er_rank": 225,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 32.0,
"bb_rank": 132,
"k_value": 64.0,
"k_rank": 198,
"k_per_9_value": 9.653631,
"k_per_9_rank": 24,
"whip_value": 1.3072,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9822,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0571,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9612,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0225,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 3,
"BB": 1,
"SO": 8,
"HR": 0,
"ERA": 0.9,
"WHIP": 0.4,
"K9": 7.2,
"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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "676534",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676534",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.5625,
"ER_per_IP": 0.1875,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 114.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.3,
"BB": 0.1,
"SO": 0.8,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.4
},
"rates": {
"ERA": 0.9,
"WHIP": 0.4,
"ER_per_IP": 0.1,
"H_per_IP": 0.3,
"BB_per_IP": 0.1,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"season": {
"games": 60,
"totals": {
"IP": 59.2,
"ER": 25.0,
"R": 31.0,
"H": 46.0,
"BB": 32.0,
"SO": 64.0,
"HR": 1.0,
"BF": 255.0,
"Pitches": 1007.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.5167,
"H": 0.7667,
"BB": 0.5333,
"SO": 1.0667,
"HR": 0.0167,
"BF": 4.25,
"Pitches": 16.7833
},
"rates": {
"ERA": 3.7709,
"WHIP": 1.3073,
"ER_per_IP": 0.41899,
"H_per_IP": 0.77095,
"BB_per_IP": 0.53631,
"SO_per_IP": 1.07263,
"HR_per_IP": 0.01676
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.29,
"predicted_H": 0.588,
"predicted_BB": 0.269,
"predicted_SO": 0.804,
"predicted_HR": 0.046,
"predicted_ERA": 2.6081,
"predicted_WHIP": 0.8573
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7058,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.29,
"final": 0.1525,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.588,
"final": 0.3091,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.269,
"final": 0.6157,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.804,
"final": 0.897,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.046,
"final": 0.0242,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6081,
"final": 2.6081,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8573,
"final": 0.8573,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Zuber |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1523 |
| ESPN Rank | 476 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.9789 |
| Season WHIP | 1.2947 |
| Role Avg IP | 0.9050 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"opponent": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"edges": {
"quality_edge": 0.1132,
"offense_edge": -0.0267,
"opponent_offense_edge": -0.0473,
"defense_strength": 0.0585,
"opponent_defense_weakness": 0.0861,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0082,
"run_prevention": 0.9809,
"strikeout": 1.0072
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676604",
"profile": {
"available": true,
"pitcher_id": "676604",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 108.0,
"k_percent": 25.2,
"bb_percent": 4.4,
"woba": 0.349,
"xwoba": 0.287,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 44.1,
"avg_best_speed": 79.9924,
"avg_hyper_speed": 94.2195,
"whiff_percent": 23.8,
"swing_percent": 48.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1127,
"command_and_miss": 0.3771,
"regression_edge": 1.7714,
"xwoba_edge": 0.6857,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.9,
"whiff_edge": -0.2,
"bb_edge": 1.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676604",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1523,
"sample_weight": 0.45,
"run_prevention_factor": 0.9871,
"strikeout_factor": 1.0049,
"walk_factor": 0.9577,
"homer_factor": 0.9917,
"woba_minus_xwoba": 0.062,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676604",
"espn_id": 42596,
"player_name": "Tyler Zuber",
"team": "MIA",
"role": "pitcher",
"espn_rank": 476,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 476,
"gp_value": 35.0,
"gp_rank": 185,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.9789,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 8.0,
"hld_rank": 109,
"ip_value": 31.2,
"ip_rank": 414,
"h_value": 35.0,
"h_rank": 358,
"er_value": 14.0,
"er_rank": 429,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 6.0,
"bb_rank": 570,
"k_value": 34.0,
"k_rank": 377,
"k_per_9_value": 9.663158,
"k_per_9_rank": 24,
"whip_value": 1.2947,
"whip_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9942,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9942,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.981,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9963,
"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.1,
"ER": 5,
"H": 11,
"BB": 2,
"SO": 7,
"HR": 3,
"ERA": 4.821428571428572,
"WHIP": 1.392857142857143,
"K9": 6.750000000000001,
"HR9": 2.8928571428571432,
"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-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "676604",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.365,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.56,
"prior_weight": 0.44
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676604",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 0.0,
"SO": 4.0,
"HR": 2.0,
"BF": 20.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.4,
"BF": 4.0,
"Pitches": 14.2
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.2857,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.42857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 2.0,
"SO": 7.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.1,
"BB": 0.2,
"SO": 0.7,
"HR": 0.3,
"BF": 4.0,
"Pitches": 15.5
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.3929,
"ER_per_IP": 0.53571,
"H_per_IP": 1.17857,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.75,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 35,
"totals": {
"IP": 31.2,
"ER": 14.0,
"R": 16.0,
"H": 35.0,
"BB": 6.0,
"SO": 34.0,
"HR": 7.0,
"BF": 135.0,
"Pitches": 529.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4571,
"H": 1.0,
"BB": 0.1714,
"SO": 0.9714,
"HR": 0.2,
"BF": 3.8571,
"Pitches": 15.1143
},
"rates": {
"ERA": 3.9789,
"WHIP": 1.2947,
"ER_per_IP": 0.44211,
"H_per_IP": 1.10526,
"BB_per_IP": 0.18947,
"SO_per_IP": 1.07368,
"HR_per_IP": 0.22105
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.589,
"predicted_H": 1.107,
"predicted_BB": 0.226,
"predicted_SO": 0.896,
"predicted_HR": 0.26,
"predicted_ERA": 5.3051,
"predicted_WHIP": 1.3332
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5359,
"form_weight": 0.4641,
"form_reliability": 0.56,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.365,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.56,
"prior_weight": 0.44
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.589,
"final": 0.8093,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.107,
"final": 1.5856,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.226,
"final": 0.1049,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.896,
"final": 0.4158,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.26,
"final": 0.1207,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3051,
"final": 5.3051,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3332,
"final": 1.3332,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Michael Petersen |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2350 |
| ESPN Rank | 218 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 3.2965 |
| Season WHIP | 1.1337 |
| Role Avg IP | 1.0060 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"opponent": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"edges": {
"quality_edge": 0.1132,
"offense_edge": -0.0267,
"opponent_offense_edge": -0.0473,
"defense_strength": 0.0585,
"opponent_defense_weakness": 0.0861,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0082,
"run_prevention": 0.9809,
"strikeout": 1.0072
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656848",
"profile": {
"available": true,
"pitcher_id": "656848",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 212.0,
"k_percent": 28.6,
"bb_percent": 11.1,
"woba": 0.276,
"xwoba": 0.286,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 41.3,
"avg_best_speed": 81.0735,
"avg_hyper_speed": 94.5082,
"whiff_percent": 29.3,
"swing_percent": 50.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2973,
"command_and_miss": 0.5357,
"regression_edge": -0.2857,
"xwoba_edge": 0.7143,
"barrel_edge": -0.6444,
"hard_hit_edge": -0.5,
"whiff_edge": 0.5857,
"bb_edge": -0.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.235,
"sample_weight": 0.848,
"run_prevention_factor": 0.98,
"strikeout_factor": 1.0523,
"walk_factor": 1.0339,
"homer_factor": 1.0425,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656848",
"espn_id": 41824,
"player_name": "Michael Petersen",
"team": "MIA",
"role": "pitcher",
"espn_rank": 218,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 218,
"gp_value": 57.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.2965,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 23.0,
"hld_rank": 8,
"ip_value": 57.1,
"ip_rank": 238,
"h_value": 39.0,
"h_rank": 319,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 26.0,
"bb_rank": 200,
"k_value": 67.0,
"k_rank": 181,
"k_per_9_value": 10.517442,
"k_per_9_rank": 20,
"whip_value": 1.1337,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.983,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0287,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.036,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0444,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 9,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.4444444444444444,
"K9": 9.0,
"HR9": 1.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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "656848",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6974,
"prior_weight": 0.3026
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656848",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 57,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.2,
"H": 0.6,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 6.0,
"H": 9.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6,
"H": 0.9,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.3
},
"rates": {
"ERA": 5.0,
"WHIP": 1.4444,
"ER_per_IP": 0.55556,
"H_per_IP": 1.0,
"BB_per_IP": 0.44444,
"SO_per_IP": 1.0,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 57,
"totals": {
"IP": 57.1,
"ER": 21.0,
"R": 24.0,
"H": 39.0,
"BB": 26.0,
"SO": 67.0,
"HR": 5.0,
"BF": 234.0,
"Pitches": 979.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3684,
"R": 0.4211,
"H": 0.6842,
"BB": 0.4561,
"SO": 1.1754,
"HR": 0.0877,
"BF": 4.1053,
"Pitches": 17.1754
},
"rates": {
"ERA": 3.2965,
"WHIP": 1.1337,
"ER_per_IP": 0.36628,
"H_per_IP": 0.68023,
"BB_per_IP": 0.45349,
"SO_per_IP": 1.1686,
"HR_per_IP": 0.08721
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.268,
"predicted_H": 0.69,
"predicted_BB": 0.475,
"predicted_SO": 0.799,
"predicted_HR": 0.066,
"predicted_ERA": 3.0354,
"predicted_WHIP": 1.4665
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4778,
"form_weight": 0.5222,
"form_reliability": 0.6974,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.524,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6974,
"prior_weight": 0.3026
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.268,
"final": 1.0956,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.69,
"final": 1.7938,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.475,
"final": 0.7259,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.799,
"final": 1.3729,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.066,
"final": 0.5123,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0354,
"final": 3.0354,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4665,
"final": 1.4665,
"source": "form_only"
}
}
}{
"available": false,
"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.088 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.015 | 5.000 | 3.000 | Hitting_AB | 3.224 | 3.000 | 1.776 | 2.000 |
| predicted_AVG | 0.300 | 0.200 | 0.333 | Hitting_AVG | 0.278 | 0.667 | -0.078 | -0.467 |
| predicted_BB | 0.382 | 0.000 | 0.000 | Hitting_BB | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.895 | 2.000 | 0.105 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_OBP | 0.335 | 0.200 | 0.333 | Hitting_OBP | 0.375 | 0.667 | -0.175 | -0.467 |
| predicted_R | 0.441 | 0.000 | 0.000 | Hitting_R | 0.505 | 1.000 | -0.505 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.538 | 1.000 | -0.538 | -1.000 |
| predicted_SLG | 0.415 | 0.200 | 0.333 | Hitting_SLG | 0.535 | 0.667 | -0.335 | -0.467 |
| predicted_SO | 1.074 | 1.000 | 1.000 | Hitting_SO | 1.114 | 1.000 | -0.114 | 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.0150 -> 5.0000 (boost 1.9850, better) |
| Biggest Deboost | predicted_R: 0.4410 -> 0.0000 (deboost -0.4410, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0150 -> 3.0796 (boost 0.0646, better) | predicted_AVG: 0.3000 -> 0.2683 (deboost -0.0317, worse) | Final model input calibrated with local 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.2683 -> 0.2280 (deboost -0.0403, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_H: 0.7023 -> 1.0000 (boost 0.2977, better) | predicted_BB: 0.3892 -> 0.0000 (deboost -0.3892, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.228 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4206 -> 0.0000 (deboost -0.4206, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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.3926 -> 0.4000 (boost 0.0074, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 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.4000 -> 0.3926 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665052",
"player_name": "Griffin Conine",
"position": "RF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.088,
"predicted_3B": 0.0,
"predicted_AB": 3.015,
"predicted_AVG": 0.3,
"predicted_BB": 0.382,
"predicted_H": 0.69,
"predicted_HR": 0.15,
"predicted_OBP": 0.335,
"predicted_R": 0.441,
"predicted_RBI": 0.35,
"predicted_SLG": 0.415,
"predicted_SO": 1.074
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0788,
"predicted_3B": 0.0004,
"predicted_AB": 3.0796,
"predicted_AVG": 0.2683,
"predicted_BB": 0.3883,
"predicted_H": 0.6983,
"predicted_HBP": 0.08,
"predicted_HR": 0.1408,
"predicted_OBP": 0.3313,
"predicted_R": 0.4164,
"predicted_RBI": 0.3513,
"predicted_SLG": 0.3948,
"predicted_SO": 1.0932
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.0788,
"delta": -0.0092,
"percent_delta": -0.1045,
"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.015,
"after": 3.0796,
"delta": 0.0646,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2683,
"delta": -0.0317,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.3883,
"delta": 0.0063,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6983,
"delta": 0.0083,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1408,
"delta": -0.0092,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3313,
"delta": -0.0037,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.4164,
"delta": -0.0246,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3513,
"delta": 0.0013,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.3948,
"delta": -0.0202,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.074,
"after": 1.0932,
"delta": 0.0192,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_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.015,
"after": 3.0796,
"delta": 0.0646,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2683,
"delta": -0.0317,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0788,
"predicted_3B": 0.0004,
"predicted_AB": 3.0796,
"predicted_AVG": 0.228,
"predicted_BB": 0.3892,
"predicted_H": 0.7023,
"predicted_HBP": 0.08,
"predicted_HR": 0.1424,
"predicted_OBP": 0.3147,
"predicted_R": 0.4206,
"predicted_RBI": 0.3548,
"predicted_SLG": 0.3926,
"predicted_SO": 1.0907
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0788,
"after": 0.0788,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0796,
"after": 3.0796,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2683,
"after": 0.228,
"delta": -0.0403,
"percent_delta": -0.1502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3883,
"after": 0.3892,
"delta": 0.0009,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6983,
"after": 0.7023,
"delta": 0.004,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1408,
"after": 0.1424,
"delta": 0.0016,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3313,
"after": 0.3147,
"delta": -0.0166,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4164,
"after": 0.4206,
"delta": 0.0042,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3513,
"after": 0.3548,
"delta": 0.0035,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3948,
"after": 0.3926,
"delta": -0.0022,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0932,
"after": 1.0907,
"delta": -0.0025,
"percent_delta": -0.0023,
"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.2683,
"after": 0.228,
"delta": -0.0403,
"percent_delta": -0.1502,
"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.228 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.0788,
"after": 0.0,
"delta": -0.0788,
"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.0796,
"after": 3.0,
"delta": -0.0796,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3892,
"after": 0.0,
"delta": -0.3892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7023,
"after": 1.0,
"delta": 0.2977,
"percent_delta": 0.4239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1424,
"after": 0.0,
"delta": -0.1424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3548,
"after": 0.0,
"delta": -0.3548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0907,
"after": 1.0,
"delta": -0.0907,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7023,
"after": 1.0,
"delta": 0.2977,
"percent_delta": 0.4239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3892,
"after": 0.0,
"delta": -0.3892,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4206,
"after": 0.0,
"delta": -0.4206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4206,
"after": 0.0,
"delta": -0.4206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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.228,
"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.4,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.32,
"delta": 0.0053,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.4,
"delta": 0.0074,
"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.3926,
"after": 0.4,
"delta": 0.0074,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.228,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_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.228,
"after": 0.228,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3147,
"delta": -0.0053,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.3926,
"delta": -0.0074,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4,
"after": 0.3926,
"delta": -0.0074,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"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.015,
"after": 5.0,
"delta": 1.985,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.228,
"delta": -0.072,
"percent_delta": -0.24,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3147,
"delta": -0.0203,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.3926,
"delta": -0.0224,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.074,
"after": 1.0,
"delta": -0.074,
"percent_delta": -0.0689,
"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.015,
"after": 5.0,
"delta": 1.985,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.015 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.415 | - |
| predicted_SO | 1.074 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | -0.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.080 | 0.065 |
| predicted_AVG | 0.268 | -0.032 |
| predicted_BB | 0.388 | 0.006 |
| predicted_H | 0.698 | 0.008 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.141 | -0.009 |
| predicted_OBP | 0.331 | -0.004 |
| predicted_R | 0.416 | -0.025 |
| predicted_RBI | 0.351 | 0.001 |
| predicted_SLG | 0.395 | -0.020 |
| predicted_SO | 1.093 | 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.079 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.080 | 0.000 |
| predicted_AVG | 0.228 | -0.040 |
| predicted_BB | 0.389 | 0.001 |
| predicted_H | 0.702 | 0.004 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.142 | 0.002 |
| predicted_OBP | 0.315 | -0.017 |
| predicted_R | 0.421 | 0.004 |
| predicted_RBI | 0.355 | 0.004 |
| predicted_SLG | 0.393 | -0.002 |
| predicted_SO | 1.091 | -0.002 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.228 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 | 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.079 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.080 |
| predicted_AVG | 0.228 | 0.000 |
| predicted_BB | 0.000 | -0.389 |
| predicted_H | 1.000 | 0.298 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.320 | 0.005 |
| predicted_R | 0.000 | -0.421 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.400 | 0.007 |
| predicted_SO | 1.000 | -0.091 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 6.000 | 0.1875 | 0.3158 | 0.1875 | 0.1875 | 0.0000 | 0.0625 | 0.1250 | 0.3750 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 13.000 | 0.1562 | 0.2895 | 0.1562 | 0.1562 | 0.0000 | 0.0312 | 0.1562 | 0.4062 |
| season | 0.60 | 68 | - | 205.000 | 52.000 | 6.000 | 0.000 | 14.000 | 31.000 | 30.000 | 26.000 | 73.000 | 0.2537 | 0.3462 | 0.4878 | 0.2537 | 0.0683 | 0.1512 | 0.1268 | 0.3561 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1700 |
| predicted_AVG | 0.2240 |
| predicted_BB | 0.3970 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3262 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.3666 |
| predicted_SO | 1.1200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.0660 | 0.0788 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0150 | 3.1700 | 3.0796 | model_form_blend |
| predicted_AVG | 0.3000 | 0.2240 | 0.2683 | model_form_blend |
| predicted_BB | 0.3820 | 0.3970 | 0.3883 | model_form_blend |
| predicted_H | 0.6900 | 0.7100 | 0.6983 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.1500 | 0.1280 | 0.1408 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3262 | 0.3313 | model_form_blend |
| predicted_R | 0.4410 | 0.3820 | 0.4164 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3530 | 0.3513 | model_form_blend |
| predicted_SLG | 0.4150 | 0.3666 | 0.3948 | model_form_blend |
| predicted_SO | 1.0740 | 1.1200 | 1.0932 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-RF |
| gameID | 20260902_MIA@KC |
| game_type | ph |
| mlbID | 665052 |
| note | Singled for Ruiz, E in the 6th. |
| playerID | 665052 |
| playerName | Griffin Conine |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 30.7 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.37 |
| sl_xwoba | 0.369 |
| sl_xba | 0.255 |
| sl_xslg | 0.492 |
| sl_sweet_spot_percent | 40.9 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 38.8 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 0.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.064 | 1.000 | -0.064 | -1.000 |
| predicted_AB | 4.990 | 4.000 | 5.000 | Hitting_AB | 4.095 | 5.000 | -0.095 | -1.000 |
| predicted_AVG | 0.254 | 0.250 | 0.200 | Hitting_AVG | 0.312 | 0.200 | -0.062 | 0.050 |
| predicted_BB | 0.221 | 1.000 | 0.000 | Hitting_BB | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 1.270 | 1.000 | 1.000 | Hitting_H | 1.277 | 1.000 | -0.277 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.308 | 0.400 | 0.200 | Hitting_OBP | 0.347 | 0.200 | 0.053 | 0.200 |
| predicted_R | 0.603 | 1.000 | 1.000 | Hitting_R | 0.652 | 1.000 | 0.348 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.481 | 1.000 | -0.481 | -1.000 |
| predicted_SLG | 0.422 | 0.250 | 0.200 | Hitting_SLG | 0.460 | 0.600 | -0.210 | -0.350 |
| predicted_SO | 0.574 | 0.000 | 1.000 | Hitting_SO | 0.566 | 2.000 | -0.566 | -2.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 | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2210 -> 1.0000 (boost 0.7790, better) |
| Biggest Deboost | predicted_AB: 4.9900 -> 4.0000 (deboost -0.9900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.5740 -> 0.6559 (boost 0.0819, worse) | predicted_AB: 4.9900 -> 4.5995 (deboost -0.3905, worse) | Final model input calibrated with local 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.4291 -> 0.4137 (deboost -0.0154, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5358 -> 1.0000 (boost 0.4642, better) | predicted_H: 1.2229 -> 1.0000 (deboost -0.2229, worse) | AB rounded to 5 (raw=4.99), rates preserved: AVG=0.245 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6148 -> 1.0000 (boost 0.3852, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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.4137 -> 0.3810 (deboost -0.0327, 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 -> 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.3810 -> 0.4137 (boost 0.0327, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.059,
"predicted_AB": 4.99,
"predicted_AVG": 0.254,
"predicted_BB": 0.221,
"predicted_H": 1.27,
"predicted_HR": 0.12,
"predicted_OBP": 0.308,
"predicted_R": 0.603,
"predicted_RBI": 0.56,
"predicted_SLG": 0.422,
"predicted_SO": 0.574
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1931,
"predicted_3B": 0.0721,
"predicted_AB": 4.5995,
"predicted_AVG": 0.2653,
"predicted_BB": 0.2031,
"predicted_H": 1.216,
"predicted_HBP": 0.019,
"predicted_HR": 0.113,
"predicted_OBP": 0.3072,
"predicted_R": 0.6087,
"predicted_RBI": 0.5304,
"predicted_SLG": 0.4291,
"predicted_SO": 0.6559
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.1931,
"delta": -0.0279,
"percent_delta": -0.1262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0721,
"delta": 0.0131,
"percent_delta": 0.222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5995,
"delta": -0.3905,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2653,
"delta": 0.0113,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.2031,
"delta": -0.0179,
"percent_delta": -0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.27,
"after": 1.216,
"delta": -0.054,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.113,
"delta": -0.007,
"percent_delta": -0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3072,
"delta": -0.0008,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.6087,
"delta": 0.0057,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5304,
"delta": -0.0296,
"percent_delta": -0.0529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4291,
"delta": 0.0071,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.6559,
"delta": 0.0819,
"percent_delta": 0.1427,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.574,
"after": 0.6559,
"delta": 0.0819,
"percent_delta": 0.1427,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5995,
"delta": -0.3905,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1931,
"predicted_3B": 0.0721,
"predicted_AB": 4.5995,
"predicted_AVG": 0.2659,
"predicted_BB": 0.2036,
"predicted_H": 1.2229,
"predicted_HBP": 0.019,
"predicted_HR": 0.1143,
"predicted_OBP": 0.297,
"predicted_R": 0.6148,
"predicted_RBI": 0.5358,
"predicted_SLG": 0.4137,
"predicted_SO": 0.6544
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1931,
"after": 0.1931,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0721,
"after": 0.0721,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5995,
"after": 4.5995,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2653,
"after": 0.2659,
"delta": 0.0006,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2031,
"after": 0.2036,
"delta": 0.0005,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.216,
"after": 1.2229,
"delta": 0.0069,
"percent_delta": 0.0057,
"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.113,
"after": 0.1143,
"delta": 0.0013,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3072,
"after": 0.297,
"delta": -0.0102,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6087,
"after": 0.6148,
"delta": 0.0061,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5304,
"after": 0.5358,
"delta": 0.0054,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4291,
"after": 0.4137,
"delta": -0.0154,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6559,
"after": 0.6544,
"delta": -0.0015,
"percent_delta": -0.0023,
"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.4291,
"after": 0.4137,
"delta": -0.0154,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.99), rates preserved: AVG=0.245 HR/AB=0.023",
"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.1931,
"after": 0.0,
"delta": -0.1931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0721,
"after": 0.0,
"delta": -0.0721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.5995,
"after": 5.0,
"delta": 0.4005,
"percent_delta": 0.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2036,
"after": 0.0,
"delta": -0.2036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2229,
"after": 1.0,
"delta": -0.2229,
"percent_delta": -0.1823,
"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.1143,
"after": 0.0,
"delta": -0.1143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5358,
"after": 1.0,
"delta": 0.4642,
"percent_delta": 0.8664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6544,
"after": 1.0,
"delta": 0.3456,
"percent_delta": 0.5281,
"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.5358,
"after": 1.0,
"delta": 0.4642,
"percent_delta": 0.8664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2229,
"after": 1.0,
"delta": -0.2229,
"percent_delta": -0.1823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6148,
"after": 1.0,
"delta": 0.3852,
"percent_delta": 0.6265,
"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.6148,
"after": 1.0,
"delta": 0.3852,
"percent_delta": 0.6265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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.245,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.381,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2659,
"after": 0.245,
"delta": -0.0209,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.281,
"delta": -0.016,
"percent_delta": -0.0539,
"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.4137,
"after": 0.381,
"delta": -0.0327,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4137,
"after": 0.381,
"delta": -0.0327,
"percent_delta": -0.079,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2659,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4137,
"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.245,
"after": 0.2659,
"delta": 0.0209,
"percent_delta": 0.0852,
"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.281,
"after": 0.297,
"delta": 0.016,
"percent_delta": 0.0569,
"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.381,
"after": 0.4137,
"delta": 0.0327,
"percent_delta": 0.0859,
"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.381,
"after": 0.4137,
"delta": 0.0327,
"percent_delta": 0.0859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.99,
"after": 4.0,
"delta": -0.99,
"percent_delta": -0.1984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2659,
"delta": 0.0119,
"percent_delta": 0.0469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 1.0,
"delta": 0.779,
"percent_delta": 3.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.27,
"after": 1.0,
"delta": -0.27,
"percent_delta": -0.2126,
"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.308,
"after": 0.297,
"delta": -0.011,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4137,
"delta": -0.0083,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.221,
"after": 1.0,
"delta": 0.779,
"percent_delta": 3.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.99,
"after": 4.0,
"delta": -0.99,
"percent_delta": -0.1984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 4.990 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.221 | - |
| predicted_H | 1.270 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 0.574 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | -0.028 |
| predicted_3B | 0.072 | 0.013 |
| predicted_AB | 4.599 | -0.391 |
| predicted_AVG | 0.265 | 0.011 |
| predicted_BB | 0.203 | -0.018 |
| predicted_H | 1.216 | -0.054 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.113 | -0.007 |
| predicted_OBP | 0.307 | -0.001 |
| predicted_R | 0.609 | 0.006 |
| predicted_RBI | 0.530 | -0.030 |
| predicted_SLG | 0.429 | 0.007 |
| predicted_SO | 0.656 | 0.082 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | 0.000 |
| predicted_3B | 0.072 | 0.000 |
| predicted_AB | 4.599 | 0.000 |
| predicted_AVG | 0.266 | 0.001 |
| predicted_BB | 0.204 | 0.001 |
| predicted_H | 1.223 | 0.007 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.114 | 0.001 |
| predicted_OBP | 0.297 | -0.010 |
| predicted_R | 0.615 | 0.006 |
| predicted_RBI | 0.536 | 0.005 |
| predicted_SLG | 0.414 | -0.015 |
| predicted_SO | 0.654 | -0.002 |
AB rounded to 5 (raw=4.99), rates preserved: AVG=0.245 HR/AB=0.023
| 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.193 |
| predicted_3B | 0.000 | -0.072 |
| predicted_AB | 5.000 | 0.401 |
| predicted_AVG | 0.245 | -0.021 |
| predicted_BB | 0.000 | -0.204 |
| predicted_H | 1.000 | -0.223 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.281 | -0.016 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 1.000 | 0.464 |
| predicted_SLG | 0.381 | -0.033 |
| predicted_SO | 1.000 | 0.346 |
Attached simulation box 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 | - | 22.000 | 5.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 0.000 | 6.000 | 0.2273 | 0.2273 | 0.4545 | 0.2273 | 0.0454 | 0.1364 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 1.000 | 1.000 | 1.000 | 5.000 | 7.000 | 2.000 | 9.000 | 0.2683 | 0.2889 | 0.4146 | 0.2683 | 0.0244 | 0.1220 | 0.0488 | 0.2195 |
| season | 0.60 | 136 | - | 546.000 | 166.000 | 30.000 | 8.000 | 10.000 | 62.000 | 82.000 | 30.000 | 78.000 | 0.3040 | 0.3384 | 0.4432 | 0.3040 | 0.0183 | 0.1135 | 0.0549 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0890 |
| predicted_AB | 4.0940 |
| predicted_AVG | 0.2799 |
| predicted_BB | 0.1800 |
| predicted_H | 1.1460 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.3062 |
| predicted_R | 0.6160 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.4382 |
| predicted_SO | 0.7620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.1570 | 0.1931 | model_form_blend |
| predicted_3B | 0.0590 | 0.0890 | 0.0721 | model_form_blend |
| predicted_AB | 4.9900 | 4.0940 | 4.5995 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2799 | 0.2653 | model_form_blend |
| predicted_BB | 0.2210 | 0.1800 | 0.2031 | model_form_blend |
| predicted_H | 1.2700 | 1.1460 | 1.2160 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1200 | 0.1040 | 0.1130 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3062 | 0.3072 | model_form_blend |
| predicted_R | 0.6030 | 0.6160 | 0.6087 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4920 | 0.5304 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4382 | 0.4291 | model_form_blend |
| predicted_SO | 0.5740 | 0.7620 | 0.6559 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 672640 |
| playerID | 672640 |
| playerName | Otto Lopez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 13.2 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.339 |
| sl_xwoba | 0.323 |
| sl_xba | 0.282 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.252 | 1.000 | 1.000 | Hitting_2B | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.360 | 5.000 | 3.000 | Hitting_AB | 3.520 | 5.000 | 1.480 | 0.000 |
| predicted_AVG | 0.287 | 0.200 | 0.333 | Hitting_AVG | 0.286 | 0.600 | -0.086 | -0.400 |
| predicted_BB | 0.171 | 0.000 | 0.000 | Hitting_BB | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.964 | 1.000 | 1.000 | Hitting_H | 1.005 | 3.000 | -0.005 | -2.000 |
| predicted_HR | 0.063 | 0.000 | 0.000 | Hitting_HR | 0.074 | 1.000 | -0.074 | -1.000 |
| predicted_OBP | 0.321 | 0.200 | 0.333 | Hitting_OBP | 0.319 | 0.600 | -0.119 | -0.400 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.376 | 2.000 | -0.376 | -2.000 |
| predicted_RBI | 0.477 | 0.000 | 1.000 | Hitting_RBI | 0.550 | 1.000 | -0.550 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_SLG | 0.429 | 0.400 | 0.667 | Hitting_SLG | 0.446 | 1.200 | -0.046 | -0.800 |
| predicted_SO | 0.297 | 1.000 | 0.000 | Hitting_SO | 0.305 | 1.000 | 0.695 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.3600 -> 5.0000 (boost 1.6400, better) |
| Biggest Deboost | predicted_RBI: 0.4770 -> 0.0000 (deboost -0.4770, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3600 -> 3.4759 (boost 0.1159, 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 | 0 | 6 | 1 | 5 | - | predicted_AB: 3.4759 -> 3.0000 (deboost -0.4759, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.302 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3667 -> 0.0000 (deboost -0.3667, 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.3375 -> 0.3430 (boost 0.0055, 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 | 3 | 0 | 2 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3430 -> 0.3375 (deboost -0.0055, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691594",
"player_name": "Javier Sanoja",
"position": "2B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.252,
"predicted_3B": 0.018,
"predicted_AB": 3.36,
"predicted_AVG": 0.287,
"predicted_BB": 0.171,
"predicted_H": 0.964,
"predicted_HR": 0.063,
"predicted_OBP": 0.321,
"predicted_R": 0.333,
"predicted_RBI": 0.477,
"predicted_SLG": 0.429,
"predicted_SO": 0.297
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2288,
"predicted_3B": 0.0154,
"predicted_AB": 3.4759,
"predicted_AVG": 0.2998,
"predicted_BB": 0.1856,
"predicted_H": 1.0438,
"predicted_HBP": 0.002,
"predicted_HR": 0.0776,
"predicted_OBP": 0.335,
"predicted_R": 0.363,
"predicted_RBI": 0.4603,
"predicted_SLG": 0.4417,
"predicted_SO": 0.3215
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.2288,
"delta": -0.0232,
"percent_delta": -0.0921,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0154,
"delta": -0.0026,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 3.4759,
"delta": 0.1159,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2998,
"delta": 0.0128,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.1856,
"delta": 0.0146,
"percent_delta": 0.0854,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.964,
"after": 1.0438,
"delta": 0.0798,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.063,
"after": 0.0776,
"delta": 0.0146,
"percent_delta": 0.2317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.335,
"delta": 0.014,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.363,
"delta": 0.03,
"percent_delta": 0.0901,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.477,
"after": 0.4603,
"delta": -0.0167,
"percent_delta": -0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4417,
"delta": 0.0127,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.297,
"after": 0.3215,
"delta": 0.0245,
"percent_delta": 0.0825,
"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.36,
"after": 3.4759,
"delta": 0.1159,
"percent_delta": 0.0345,
"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.2288,
"predicted_3B": 0.0154,
"predicted_AB": 3.4759,
"predicted_AVG": 0.302,
"predicted_BB": 0.186,
"predicted_H": 1.0497,
"predicted_HBP": 0.002,
"predicted_HR": 0.0785,
"predicted_OBP": 0.3375,
"predicted_R": 0.3667,
"predicted_RBI": 0.4649,
"predicted_SLG": 0.4444,
"predicted_SO": 0.3208
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2288,
"after": 0.2288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0154,
"after": 0.0154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4759,
"after": 3.4759,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2998,
"after": 0.302,
"delta": 0.0022,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1856,
"after": 0.186,
"delta": 0.0004,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0438,
"after": 1.0497,
"delta": 0.0059,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0776,
"after": 0.0785,
"delta": 0.0009,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3375,
"delta": 0.0025,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.363,
"after": 0.3667,
"delta": 0.0037,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4603,
"after": 0.4649,
"delta": 0.0046,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4417,
"after": 0.4444,
"delta": 0.0027,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.3215,
"after": 0.3208,
"delta": -0.0007,
"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.48), rates preserved: AVG=0.302 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2288,
"after": 0.0,
"delta": -0.2288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0154,
"after": 0.0,
"delta": -0.0154,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4759,
"after": 3.0,
"delta": -0.4759,
"percent_delta": -0.1369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0497,
"after": 1.0,
"delta": -0.0497,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0785,
"after": 0.0,
"delta": -0.0785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4649,
"after": 0.0,
"delta": -0.4649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3208,
"after": 0.0,
"delta": -0.3208,
"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_AB",
"before": 3.4759,
"after": 3.0,
"delta": -0.4759,
"percent_delta": -0.1369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3667,
"after": 0.0,
"delta": -0.3667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3667,
"after": 0.0,
"delta": -0.3667,
"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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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": 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.302,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.343,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.444,
"predicted_SO": 0.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.302,
"after": 0.302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3375,
"after": 0.343,
"delta": 0.0055,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4444,
"after": 0.444,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3375,
"after": 0.343,
"delta": 0.0055,
"percent_delta": 0.0163,
"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": 0.0,
"predicted_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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.302,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3375,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4444,
"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.302,
"after": 0.302,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3375,
"delta": -0.0055,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4444,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3375,
"delta": -0.0055,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 1.0,
"delta": 0.748,
"percent_delta": 2.9683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 5.0,
"delta": 1.64,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.302,
"delta": 0.015,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.964,
"after": 1.0,
"delta": 0.036,
"percent_delta": 0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3375,
"delta": 0.0165,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.477,
"after": 0.0,
"delta": -0.477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4444,
"delta": 0.0154,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.297,
"after": 1.0,
"delta": 0.703,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.36,
"after": 5.0,
"delta": 1.64,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.477,
"after": 0.0,
"delta": -0.477,
"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.252 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.360 | - |
| predicted_AVG | 0.287 | - |
| predicted_BB | 0.171 | - |
| predicted_H | 0.964 | - |
| predicted_HR | 0.063 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.477 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.297 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | -0.023 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.476 | 0.116 |
| predicted_AVG | 0.300 | 0.013 |
| predicted_BB | 0.186 | 0.015 |
| predicted_H | 1.044 | 0.080 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.078 | 0.015 |
| predicted_OBP | 0.335 | 0.014 |
| predicted_R | 0.363 | 0.030 |
| predicted_RBI | 0.460 | -0.017 |
| predicted_SLG | 0.442 | 0.013 |
| predicted_SO | 0.322 | 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.229 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.476 | 0.000 |
| predicted_AVG | 0.302 | 0.002 |
| predicted_BB | 0.186 | 0.000 |
| predicted_H | 1.050 | 0.006 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.079 | 0.001 |
| predicted_OBP | 0.338 | 0.003 |
| predicted_R | 0.367 | 0.004 |
| predicted_RBI | 0.465 | 0.005 |
| predicted_SLG | 0.444 | 0.003 |
| predicted_SO | 0.321 | -0.001 |
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.302 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 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.229 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | -0.476 |
| predicted_AVG | 0.302 | 0.000 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | -0.050 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.343 | 0.006 |
| predicted_R | 0.000 | -0.367 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.444 | -0.000 |
| predicted_SO | 0.000 | -0.321 |
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 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 2.000 | 0.4000 | 0.4286 | 0.5500 | 0.4000 | 0.0500 | 0.1000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 2.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 3.000 | 0.3500 | 0.3953 | 0.4750 | 0.3500 | 0.0250 | 0.0750 | 0.0750 | 0.0750 |
| season | 0.60 | 111 | - | 373.000 | 107.000 | 28.000 | 2.000 | 7.000 | 53.000 | 37.000 | 19.000 | 33.000 | 0.2869 | 0.3206 | 0.4290 | 0.2869 | 0.0188 | 0.1421 | 0.0509 | 0.0885 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.6300 |
| predicted_AVG | 0.3169 |
| predicted_BB | 0.2050 |
| predicted_H | 1.1500 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3535 |
| predicted_R | 0.4030 |
| predicted_RBI | 0.4380 |
| predicted_SLG | 0.4585 |
| predicted_SO | 0.3540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.1980 | 0.2288 | model_form_blend |
| predicted_3B | 0.0180 | 0.0120 | 0.0154 | model_form_blend |
| predicted_AB | 3.3600 | 3.6300 | 3.4759 | model_form_blend |
| predicted_AVG | 0.2870 | 0.3169 | 0.2998 | model_form_blend |
| predicted_BB | 0.1710 | 0.2050 | 0.1856 | model_form_blend |
| predicted_H | 0.9640 | 1.1500 | 1.0438 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0630 | 0.0970 | 0.0776 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3535 | 0.3350 | model_form_blend |
| predicted_R | 0.3330 | 0.4030 | 0.3630 | model_form_blend |
| predicted_RBI | 0.4770 | 0.4380 | 0.4603 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4585 | 0.4417 | model_form_blend |
| predicted_SO | 0.2970 | 0.3540 | 0.3215 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 367 |
| Season rows before report date | 367 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | 3B |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 691594 |
| playerID | 691594 |
| playerName | Javier Sanoja |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 8.3 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.33 |
| sl_xwoba | 0.286 |
| sl_xba | 0.265 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 2.1 |
| sl_hard_hit_percent | 30.7 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 11.4 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.223 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_AB | 4.270 | 4.000 | 4.000 | Hitting_AB | 3.831 | 5.000 | 0.169 | -1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.400 | -0.250 | -0.400 |
| predicted_BB | 0.408 | 1.000 | 0.000 | Hitting_BB | 0.419 | 0.000 | 0.581 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 1.140 | 0.000 | 1.000 | Hitting_H | 0.958 | 2.000 | -0.958 | -2.000 |
| predicted_HR | 0.310 | 0.000 | 1.000 | Hitting_HR | 0.172 | 1.000 | -0.172 | -1.000 |
| predicted_OBP | 0.342 | 0.200 | 0.250 | Hitting_OBP | 0.334 | 0.400 | -0.134 | -0.200 |
| predicted_R | 0.466 | 0.000 | 1.000 | Hitting_R | 0.493 | 1.000 | -0.493 | -1.000 |
| predicted_RBI | 0.970 | 0.000 | 1.000 | Hitting_RBI | 0.591 | 2.000 | -0.591 | -2.000 |
| predicted_SLG | 0.503 | 0.000 | 1.000 | Hitting_SLG | 0.472 | 1.000 | -0.472 | -1.000 |
| predicted_SO | 1.340 | 0.000 | 1.000 | Hitting_SO | 1.370 | 1.000 | -1.370 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4080 -> 1.0000 (boost 0.5920, better) |
| Biggest Deboost | predicted_SO: 1.3400 -> 0.0000 (deboost -1.3400, 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_SLG: 0.5030 -> 0.5192 (boost 0.0162, better) | predicted_AB: 4.2700 -> 3.9946 (deboost -0.2754, worse) | Final model input calibrated with local 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.5192 -> 0.5533 (boost 0.0341, better) | predicted_OBP: 0.3447 -> 0.3370 (deboost -0.0077, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_RBI: 0.9010 -> 1.0000 (boost 0.0990, better) | predicted_BB: 0.3878 -> 0.0000 (deboost -0.3878, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.255 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4860 -> 0.0000 (deboost -0.4860, 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 | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5180 -> 0.5533 (boost 0.0353, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "1B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.223,
"predicted_3B": 0.039,
"predicted_AB": 4.27,
"predicted_AVG": 0.268,
"predicted_BB": 0.408,
"predicted_H": 1.14,
"predicted_HR": 0.31,
"predicted_OBP": 0.342,
"predicted_R": 0.466,
"predicted_RBI": 0.97,
"predicted_SLG": 0.503,
"predicted_SO": 1.34
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2183,
"predicted_3B": 0.0403,
"predicted_AB": 3.9946,
"predicted_AVG": 0.272,
"predicted_BB": 0.3869,
"predicted_H": 1.0827,
"predicted_HBP": 0.039,
"predicted_HR": 0.2712,
"predicted_OBP": 0.3447,
"predicted_R": 0.4811,
"predicted_RBI": 0.892,
"predicted_SLG": 0.5192,
"predicted_SO": 1.3624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.223,
"after": 0.2183,
"delta": -0.0047,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0403,
"delta": 0.0013,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 3.9946,
"delta": -0.2754,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.272,
"delta": 0.004,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 0.3869,
"delta": -0.0211,
"percent_delta": -0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0827,
"delta": -0.0573,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.2712,
"delta": -0.0388,
"percent_delta": -0.1252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3447,
"delta": 0.0027,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.4811,
"delta": 0.0151,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.97,
"after": 0.892,
"delta": -0.078,
"percent_delta": -0.0804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5192,
"delta": 0.0162,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.34,
"after": 1.3624,
"delta": 0.0224,
"percent_delta": 0.0167,
"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.503,
"after": 0.5192,
"delta": 0.0162,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 3.9946,
"delta": -0.2754,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 103
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2183,
"predicted_3B": 0.0403,
"predicted_AB": 3.9946,
"predicted_AVG": 0.2726,
"predicted_BB": 0.3878,
"predicted_H": 1.0889,
"predicted_HBP": 0.039,
"predicted_HR": 0.2742,
"predicted_OBP": 0.337,
"predicted_R": 0.486,
"predicted_RBI": 0.901,
"predicted_SLG": 0.5533,
"predicted_SO": 1.3593
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2183,
"after": 0.2183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0403,
"after": 0.0403,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9946,
"after": 3.9946,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2726,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3869,
"after": 0.3878,
"delta": 0.0009,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0827,
"after": 1.0889,
"delta": 0.0062,
"percent_delta": 0.0057,
"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.2712,
"after": 0.2742,
"delta": 0.003,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3447,
"after": 0.337,
"delta": -0.0077,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4811,
"after": 0.486,
"delta": 0.0049,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.892,
"after": 0.901,
"delta": 0.009,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5192,
"after": 0.5533,
"delta": 0.0341,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3624,
"after": 1.3593,
"delta": -0.0031,
"percent_delta": -0.0023,
"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.5192,
"after": 0.5533,
"delta": 0.0341,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3447,
"after": 0.337,
"delta": -0.0077,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.27), rates preserved: AVG=0.255 HR/AB=0.064",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2183,
"after": 0.0,
"delta": -0.2183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0403,
"after": 0.0,
"delta": -0.0403,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9946,
"after": 4.0,
"delta": 0.0054,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3878,
"after": 0.0,
"delta": -0.3878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0889,
"after": 1.0,
"delta": -0.0889,
"percent_delta": -0.0816,
"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.2742,
"after": 0.0,
"delta": -0.2742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.901,
"after": 1.0,
"delta": 0.099,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3593,
"after": 1.0,
"delta": -0.3593,
"percent_delta": -0.2643,
"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_RBI",
"before": 0.901,
"after": 1.0,
"delta": 0.099,
"percent_delta": 0.1099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3878,
"after": 0.0,
"delta": -0.3878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.486,
"after": 0.0,
"delta": -0.486,
"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.486,
"after": 0.0,
"delta": -0.486,
"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": 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": 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": 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": 4.0,
"predicted_AVG": 0.255,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.322,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.518,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2726,
"after": 0.255,
"delta": -0.0176,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.337,
"after": 0.322,
"delta": -0.015,
"percent_delta": -0.0445,
"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.5533,
"after": 0.518,
"delta": -0.0353,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2726,
"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.337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5533,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2726,
"delta": 0.0176,
"percent_delta": 0.069,
"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.322,
"after": 0.337,
"delta": 0.015,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5533,
"delta": 0.0353,
"percent_delta": 0.0682,
"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.518,
"after": 0.5533,
"delta": 0.0353,
"percent_delta": 0.0682,
"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.223,
"after": 0.0,
"delta": -0.223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2726,
"delta": 0.0046,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.408,
"after": 1.0,
"delta": 0.592,
"percent_delta": 1.451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 0.0,
"delta": -1.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.337,
"delta": -0.005,
"percent_delta": -0.0146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5533,
"delta": 0.0503,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.34,
"after": 0.0,
"delta": -1.34,
"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.408,
"after": 1.0,
"delta": 0.592,
"percent_delta": 1.451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.34,
"after": 0.0,
"delta": -1.34,
"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.223 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.408 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.466 | - |
| predicted_RBI | 0.970 | - |
| predicted_SLG | 0.503 | - |
| predicted_SO | 1.340 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.005 |
| predicted_3B | 0.040 | 0.001 |
| predicted_AB | 3.995 | -0.275 |
| predicted_AVG | 0.272 | 0.004 |
| predicted_BB | 0.387 | -0.021 |
| predicted_H | 1.083 | -0.057 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.271 | -0.039 |
| predicted_OBP | 0.345 | 0.003 |
| predicted_R | 0.481 | 0.015 |
| predicted_RBI | 0.892 | -0.078 |
| predicted_SLG | 0.519 | 0.016 |
| predicted_SO | 1.362 | 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.218 | 0.000 |
| predicted_3B | 0.040 | 0.000 |
| predicted_AB | 3.995 | 0.000 |
| predicted_AVG | 0.273 | 0.001 |
| predicted_BB | 0.388 | 0.001 |
| predicted_H | 1.089 | 0.006 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.274 | 0.003 |
| predicted_OBP | 0.337 | -0.008 |
| predicted_R | 0.486 | 0.005 |
| predicted_RBI | 0.901 | 0.009 |
| predicted_SLG | 0.553 | 0.034 |
| predicted_SO | 1.359 | -0.003 |
AB rounded to 4 (raw=4.27), rates preserved: AVG=0.255 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.218 |
| predicted_3B | 0.000 | -0.040 |
| predicted_AB | 4.000 | 0.005 |
| predicted_AVG | 0.255 | -0.018 |
| predicted_BB | 0.000 | -0.388 |
| predicted_H | 1.000 | -0.089 |
| predicted_HR | 0.000 | -0.274 |
| predicted_OBP | 0.322 | -0.015 |
| predicted_R | 0.000 | -0.486 |
| predicted_RBI | 1.000 | 0.099 |
| predicted_SLG | 0.518 | -0.035 |
| predicted_SO | 1.000 | -0.359 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 1.000 | 8.000 | 0.3333 | 0.3684 | 0.7222 | 0.3333 | 0.1111 | 0.3889 | 0.0556 | 0.4444 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 1.000 | 2.000 | 9.000 | 5.000 | 4.000 | 15.000 | 0.3235 | 0.3947 | 0.6176 | 0.3235 | 0.0588 | 0.2647 | 0.1177 | 0.4412 |
| season | 0.60 | 103 | - | 381.000 | 94.000 | 23.000 | 4.000 | 18.000 | 59.000 | 48.000 | 42.000 | 138.000 | 0.2467 | 0.3310 | 0.4698 | 0.2467 | 0.0472 | 0.1549 | 0.1102 | 0.3622 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2120 |
| predicted_3B | 0.0420 |
| predicted_AB | 3.6310 |
| predicted_AVG | 0.2773 |
| predicted_BB | 0.3590 |
| predicted_H | 1.0070 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.2200 |
| predicted_OBP | 0.3483 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.7890 |
| predicted_SLG | 0.5406 |
| predicted_SO | 1.3920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2230 | 0.2120 | 0.2183 | model_form_blend |
| predicted_3B | 0.0390 | 0.0420 | 0.0403 | model_form_blend |
| predicted_AB | 4.2700 | 3.6310 | 3.9946 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2773 | 0.2720 | model_form_blend |
| predicted_BB | 0.4080 | 0.3590 | 0.3869 | model_form_blend |
| predicted_H | 1.1400 | 1.0070 | 1.0827 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.3100 | 0.2200 | 0.2712 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3483 | 0.3447 | model_form_blend |
| predicted_R | 0.4660 | 0.5010 | 0.4811 | model_form_blend |
| predicted_RBI | 0.9700 | 0.7890 | 0.8920 | model_form_blend |
| predicted_SLG | 0.5030 | 0.5406 | 0.5192 | model_form_blend |
| predicted_SO | 1.3400 | 1.3920 | 1.3624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 103 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 669065 |
| playerID | 669065 |
| playerName | Kyle Stowers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 31.9 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.346 |
| sl_xwoba | 0.332 |
| sl_xba | 0.234 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 12.6 |
| sl_hard_hit_percent | 55.7 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 35.9 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.151 | 0.000 | 0.000 | Hitting_2B | 0.158 | 2.000 | -0.158 | -2.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 4.040 | 5.000 | 4.000 | Hitting_AB | 3.603 | 4.000 | 1.397 | 1.000 |
| predicted_AVG | 0.233 | 0.200 | 0.250 | Hitting_AVG | 0.234 | 0.500 | -0.034 | -0.300 |
| predicted_BB | 0.368 | 0.000 | 1.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 0.844 | 2.000 | 0.156 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_OBP | 0.332 | 0.200 | 0.400 | Hitting_OBP | 0.314 | 0.600 | -0.114 | -0.400 |
| predicted_R | 0.396 | 0.000 | 1.000 | Hitting_R | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.589 | 2.000 | -0.589 | -2.000 |
| predicted_SLG | 0.473 | 0.200 | 0.250 | Hitting_SLG | 0.466 | 1.000 | -0.266 | -0.800 |
| predicted_SO | 1.028 | 1.000 | 1.000 | Hitting_SO | 1.153 | 0.000 | -0.153 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 4.0400 -> 5.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_RBI: 0.6800 -> 0.0000 (deboost -0.6800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.3680 -> 0.4243 (boost 0.0563, better) | predicted_AB: 4.0400 -> 3.8119 (deboost -0.2281, worse) | Final model input calibrated with local 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.3330 -> 0.3092 (deboost -0.0238, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 3 | 4 | predicted_RBI: 0.6717 -> 1.0000 (boost 0.3283, better) | predicted_BB: 0.4253 -> 0.0000 (deboost -0.4253, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.219 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4508 -> 0.0000 (deboost -0.4508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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 | 2 | 1 | 1 | 1 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4460 -> 0.4722 (boost 0.0262, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"position": "LF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.009,
"predicted_AB": 4.04,
"predicted_AVG": 0.233,
"predicted_BB": 0.368,
"predicted_H": 0.94,
"predicted_HR": 0.25,
"predicted_OBP": 0.332,
"predicted_R": 0.396,
"predicted_RBI": 0.68,
"predicted_SLG": 0.473,
"predicted_SO": 1.028
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1828,
"predicted_3B": 0.0077,
"predicted_AB": 3.8119,
"predicted_AVG": 0.2309,
"predicted_BB": 0.4243,
"predicted_H": 0.8799,
"predicted_HBP": 0.072,
"predicted_HR": 0.2363,
"predicted_OBP": 0.333,
"predicted_R": 0.4463,
"predicted_RBI": 0.665,
"predicted_SLG": 0.4769,
"predicted_SO": 1.043
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1828,
"delta": 0.0318,
"percent_delta": 0.2106,
"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.04,
"after": 3.8119,
"delta": -0.2281,
"percent_delta": -0.0565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2309,
"delta": -0.0021,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.4243,
"delta": 0.0563,
"percent_delta": 0.153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.8799,
"delta": -0.0601,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2363,
"delta": -0.0137,
"percent_delta": -0.0548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.333,
"delta": 0.001,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.4463,
"delta": 0.0503,
"percent_delta": 0.127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.665,
"delta": -0.015,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4769,
"delta": 0.0039,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.043,
"delta": 0.015,
"percent_delta": 0.0146,
"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.368,
"after": 0.4243,
"delta": 0.0563,
"percent_delta": 0.153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8119,
"delta": -0.2281,
"percent_delta": -0.0565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1828,
"predicted_3B": 0.0077,
"predicted_AB": 3.8119,
"predicted_AVG": 0.2321,
"predicted_BB": 0.4253,
"predicted_H": 0.8849,
"predicted_HBP": 0.072,
"predicted_HR": 0.2389,
"predicted_OBP": 0.3092,
"predicted_R": 0.4508,
"predicted_RBI": 0.6717,
"predicted_SLG": 0.4722,
"predicted_SO": 1.0406
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1828,
"after": 0.1828,
"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.8119,
"after": 3.8119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2321,
"delta": 0.0012,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4243,
"after": 0.4253,
"delta": 0.001,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8799,
"after": 0.8849,
"delta": 0.005,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2363,
"after": 0.2389,
"delta": 0.0026,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3092,
"delta": -0.0238,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4463,
"after": 0.4508,
"delta": 0.0045,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.665,
"after": 0.6717,
"delta": 0.0067,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4769,
"after": 0.4722,
"delta": -0.0047,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.043,
"after": 1.0406,
"delta": -0.0024,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.333,
"after": 0.3092,
"delta": -0.0238,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.04), rates preserved: AVG=0.219 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.1828,
"after": 0.0,
"delta": -0.1828,
"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.8119,
"after": 4.0,
"delta": 0.1881,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8849,
"after": 1.0,
"delta": 0.1151,
"percent_delta": 0.1301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2389,
"after": 0.0,
"delta": -0.2389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6717,
"after": 1.0,
"delta": 0.3283,
"percent_delta": 0.4888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0406,
"after": 1.0,
"delta": -0.0406,
"percent_delta": -0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6717,
"after": 1.0,
"delta": 0.3283,
"percent_delta": 0.4888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4508,
"after": 0.0,
"delta": -0.4508,
"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.4508,
"after": 0.0,
"delta": -0.4508,
"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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 4.0,
"predicted_AVG": 0.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.446,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2321,
"after": 0.219,
"delta": -0.0131,
"percent_delta": -0.0564,
"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.3092,
"after": 0.299,
"delta": -0.0102,
"percent_delta": -0.033,
"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.4722,
"after": 0.446,
"delta": -0.0262,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 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.2321,
"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.3092,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4722,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.219,
"after": 0.2321,
"delta": 0.0131,
"percent_delta": 0.06,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3092,
"delta": 0.0102,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.446,
"after": 0.4722,
"delta": 0.0262,
"percent_delta": 0.0587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.446,
"after": 0.4722,
"delta": 0.0262,
"percent_delta": 0.0587,
"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.009,
"after": 0.0,
"delta": -0.009,
"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.233,
"after": 0.2321,
"delta": -0.0009,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"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.332,
"after": 0.3092,
"delta": -0.0228,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"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.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4722,
"delta": -0.0008,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.0,
"delta": -0.028,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 5.0,
"delta": 0.96,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.396 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 1.028 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.032 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.812 | -0.228 |
| predicted_AVG | 0.231 | -0.002 |
| predicted_BB | 0.424 | 0.056 |
| predicted_H | 0.880 | -0.060 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.236 | -0.014 |
| predicted_OBP | 0.333 | 0.001 |
| predicted_R | 0.446 | 0.050 |
| predicted_RBI | 0.665 | -0.015 |
| predicted_SLG | 0.477 | 0.004 |
| predicted_SO | 1.043 | 0.015 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.812 | 0.000 |
| predicted_AVG | 0.232 | 0.001 |
| predicted_BB | 0.425 | 0.001 |
| predicted_H | 0.885 | 0.005 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.239 | 0.003 |
| predicted_OBP | 0.309 | -0.024 |
| predicted_R | 0.451 | 0.005 |
| predicted_RBI | 0.672 | 0.007 |
| predicted_SLG | 0.472 | -0.005 |
| predicted_SO | 1.041 | -0.002 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.219 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 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 1.000 | 1.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.183 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.188 |
| predicted_AVG | 0.219 | -0.013 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | 0.115 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.299 | -0.010 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 1.000 | 0.328 |
| predicted_SLG | 0.446 | -0.026 |
| predicted_SO | 1.000 | -0.041 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 4.000 | 7.000 | 0.1667 | 0.3478 | 0.4444 | 0.1667 | 0.0556 | 0.2222 | 0.2222 | 0.3889 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 3.000 | 0.000 | 3.000 | 8.000 | 6.000 | 7.000 | 9.000 | 0.2703 | 0.4000 | 0.5946 | 0.2703 | 0.0811 | 0.2162 | 0.1892 | 0.2432 |
| season | 0.60 | 106 | - | 358.000 | 83.000 | 16.000 | 1.000 | 22.000 | 60.000 | 42.000 | 39.000 | 109.000 | 0.2318 | 0.3117 | 0.4665 | 0.2318 | 0.0614 | 0.1676 | 0.1089 | 0.3045 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2250 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.5090 |
| predicted_AVG | 0.2280 |
| predicted_BB | 0.4990 |
| predicted_H | 0.8000 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.2180 |
| predicted_OBP | 0.3344 |
| predicted_R | 0.5130 |
| predicted_RBI | 0.6450 |
| predicted_SLG | 0.4821 |
| predicted_SO | 1.0630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.2250 | 0.1828 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 4.0400 | 3.5090 | 3.8119 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2280 | 0.2309 | model_form_blend |
| predicted_BB | 0.3680 | 0.4990 | 0.4243 | model_form_blend |
| predicted_H | 0.9400 | 0.8000 | 0.8799 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.2500 | 0.2180 | 0.2363 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3344 | 0.3330 | model_form_blend |
| predicted_R | 0.3960 | 0.5130 | 0.4463 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6450 | 0.6650 | model_form_blend |
| predicted_SLG | 0.4730 | 0.4821 | 0.4769 | model_form_blend |
| predicted_SO | 1.0280 | 1.0630 | 1.0430 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 360 |
| Season rows before report date | 360 |
| 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 | 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 681715 |
| playerID | 681715 |
| playerName | Heriberto Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.34 |
| sl_xwoba | 0.356 |
| sl_xba | 0.25 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 47.6 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.626 | 5.000 | 0.374 | -1.000 |
| predicted_AVG | 0.216 | 0.250 | 0.250 | Hitting_AVG | 0.250 | 0.000 | -0.000 | 0.250 |
| predicted_BB | 0.412 | 0.000 | 1.000 | Hitting_BB | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.760 | 1.000 | 1.000 | Hitting_H | 0.908 | 0.000 | 0.092 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.270 | 0.250 | 0.400 | Hitting_OBP | 0.334 | 0.000 | -0.084 | 0.250 |
| predicted_R | 0.451 | 1.000 | 0.000 | Hitting_R | 0.523 | 0.000 | 0.477 | 1.000 |
| predicted_RBI | 0.260 | 2.000 | 0.000 | Hitting_RBI | 0.454 | 0.000 | 1.546 | 2.000 |
| predicted_SLG | 0.318 | 0.250 | 0.250 | Hitting_SLG | 0.366 | 0.000 | -0.116 | 0.250 |
| predicted_SO | 0.902 | 0.000 | 1.000 | Hitting_SO | 0.897 | 3.000 | -0.897 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.2600 -> 2.0000 (boost 1.7400, better) |
| Biggest Deboost | predicted_SO: 0.9020 -> 0.0000 (deboost -0.9020, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2700 -> 0.2774 (boost 0.0074, better) | predicted_SLG: 0.3180 -> 0.3002 (deboost -0.0178, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2774 -> 0.2948 (boost 0.0174, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.4528 -> 4.0000 (boost 0.5472, better) | predicted_BB: 0.3993 -> 0.0000 (deboost -0.3993, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.210 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4377 -> 0.0000 (deboost -0.4377, 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 | 3 | 2 | 1 | 3 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682663",
"player_name": "Agustín Ramírez",
"position": "DH",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.02,
"predicted_AB": 3.5,
"predicted_AVG": 0.216,
"predicted_BB": 0.412,
"predicted_H": 0.76,
"predicted_HR": 0.06,
"predicted_OBP": 0.27,
"predicted_R": 0.451,
"predicted_RBI": 0.26,
"predicted_SLG": 0.318,
"predicted_SO": 0.902
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1352,
"predicted_3B": 0.0167,
"predicted_AB": 3.4528,
"predicted_AVG": 0.2112,
"predicted_BB": 0.3984,
"predicted_H": 0.7321,
"predicted_HBP": 0.025,
"predicted_HR": 0.0501,
"predicted_OBP": 0.2774,
"predicted_R": 0.4333,
"predicted_RBI": 0.2489,
"predicted_SLG": 0.3002,
"predicted_SO": 0.9291
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1352,
"delta": -0.0218,
"percent_delta": -0.1389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0167,
"delta": -0.0033,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 3.4528,
"delta": -0.0472,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2112,
"delta": -0.0048,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.3984,
"delta": -0.0136,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7321,
"delta": -0.0279,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0501,
"delta": -0.0099,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2774,
"delta": 0.0074,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 0.4333,
"delta": -0.0177,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2489,
"delta": -0.0111,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.3002,
"delta": -0.0178,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 0.9291,
"delta": 0.0271,
"percent_delta": 0.03,
"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.27,
"after": 0.2774,
"delta": 0.0074,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.3002,
"delta": -0.0178,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 51
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1352,
"predicted_3B": 0.0167,
"predicted_AB": 3.4528,
"predicted_AVG": 0.2132,
"predicted_BB": 0.3993,
"predicted_H": 0.7363,
"predicted_HBP": 0.025,
"predicted_HR": 0.0507,
"predicted_OBP": 0.2948,
"predicted_R": 0.4377,
"predicted_RBI": 0.2514,
"predicted_SLG": 0.3061,
"predicted_SO": 0.927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1352,
"after": 0.1352,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0167,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4528,
"after": 3.4528,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2112,
"after": 0.2132,
"delta": 0.002,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3984,
"after": 0.3993,
"delta": 0.0009,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7321,
"after": 0.7363,
"delta": 0.0042,
"percent_delta": 0.0057,
"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.0501,
"after": 0.0507,
"delta": 0.0006,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2774,
"after": 0.2948,
"delta": 0.0174,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4333,
"after": 0.4377,
"delta": 0.0044,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2489,
"after": 0.2514,
"delta": 0.0025,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3002,
"after": 0.3061,
"delta": 0.0059,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9291,
"after": 0.927,
"delta": -0.0021,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2774,
"after": 0.2948,
"delta": 0.0174,
"percent_delta": 0.0627,
"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.50), rates preserved: AVG=0.210 HR/AB=0.014",
"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.1352,
"after": 0.0,
"delta": -0.1352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0,
"delta": -0.0167,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4528,
"after": 4.0,
"delta": 0.5472,
"percent_delta": 0.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3993,
"after": 0.0,
"delta": -0.3993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7363,
"after": 1.0,
"delta": 0.2637,
"percent_delta": 0.3581,
"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.0507,
"after": 0.0,
"delta": -0.0507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2514,
"after": 0.0,
"delta": -0.2514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 1.0,
"delta": 0.073,
"percent_delta": 0.0787,
"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.4528,
"after": 4.0,
"delta": 0.5472,
"percent_delta": 0.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3993,
"after": 0.0,
"delta": -0.3993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4377,
"after": 0.0,
"delta": -0.4377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4377,
"after": 0.0,
"delta": -0.4377,
"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.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.302,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2132,
"after": 0.21,
"delta": -0.0032,
"percent_delta": -0.015,
"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.2948,
"after": 0.297,
"delta": 0.0022,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3061,
"after": 0.302,
"delta": -0.0041,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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.2132,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2948,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3061,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2132,
"delta": 0.0032,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2948,
"delta": -0.0022,
"percent_delta": -0.0074,
"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.302,
"after": 0.3061,
"delta": 0.0041,
"percent_delta": 0.0135,
"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.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2132,
"delta": -0.0028,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"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.27,
"after": 0.2948,
"delta": 0.0248,
"percent_delta": 0.0919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.451,
"after": 1.0,
"delta": 0.549,
"percent_delta": 1.2173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.3061,
"delta": -0.0119,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 0.0,
"delta": -0.902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.902,
"after": 0.0,
"delta": -0.902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.270 | - |
| predicted_R | 0.451 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.318 | - |
| predicted_SO | 0.902 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | -0.022 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.453 | -0.047 |
| predicted_AVG | 0.211 | -0.005 |
| predicted_BB | 0.398 | -0.014 |
| predicted_H | 0.732 | -0.028 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.050 | -0.010 |
| predicted_OBP | 0.277 | 0.007 |
| predicted_R | 0.433 | -0.018 |
| predicted_RBI | 0.249 | -0.011 |
| predicted_SLG | 0.300 | -0.018 |
| predicted_SO | 0.929 | 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.135 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.453 | 0.000 |
| predicted_AVG | 0.213 | 0.002 |
| predicted_BB | 0.399 | 0.001 |
| predicted_H | 0.736 | 0.004 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.295 | 0.017 |
| predicted_R | 0.438 | 0.004 |
| predicted_RBI | 0.251 | 0.003 |
| predicted_SLG | 0.306 | 0.006 |
| predicted_SO | 0.927 | -0.002 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.210 HR/AB=0.014
| 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.135 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.547 |
| predicted_AVG | 0.210 | -0.003 |
| predicted_BB | 0.000 | -0.399 |
| predicted_H | 1.000 | 0.264 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.297 | 0.002 |
| predicted_R | 0.000 | -0.438 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.302 | -0.004 |
| predicted_SO | 1.000 | 0.073 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -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 | 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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 0.1667 | 0.2105 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 10.000 | 0.1333 | 0.2571 | 0.1333 | 0.1333 | 0.0000 | 0.0000 | 0.1667 | 0.3333 |
| season | 0.60 | 51 | - | 170.000 | 39.000 | 8.000 | 1.000 | 2.000 | 17.000 | 23.000 | 21.000 | 46.000 | 0.2294 | 0.3196 | 0.3235 | 0.2294 | 0.0118 | 0.1000 | 0.1235 | 0.2706 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.3850 |
| predicted_AVG | 0.2044 |
| predicted_BB | 0.3790 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.2880 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.2330 |
| predicted_SLG | 0.2746 |
| predicted_SO | 0.9680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1040 | 0.1352 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0167 | model_form_blend |
| predicted_AB | 3.5000 | 3.3850 | 3.4528 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2044 | 0.2112 | model_form_blend |
| predicted_BB | 0.4120 | 0.3790 | 0.3984 | model_form_blend |
| predicted_H | 0.7600 | 0.6920 | 0.7321 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0600 | 0.0360 | 0.0501 | model_form_blend |
| predicted_OBP | 0.2700 | 0.2880 | 0.2774 | model_form_blend |
| predicted_R | 0.4510 | 0.4080 | 0.4333 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2330 | 0.2489 | model_form_blend |
| predicted_SLG | 0.3180 | 0.2746 | 0.3002 | model_form_blend |
| predicted_SO | 0.9020 | 0.9680 | 0.9291 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 174 |
| Season rows before report date | 174 |
| Report year | 2026 |
| Profile rows used | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| 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 | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 682663 |
| playerID | 682663 |
| playerName | Agustín Ramírez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.295 |
| sl_xwoba | 0.274 |
| sl_xba | 0.213 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 24.8 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 39.2 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 5.3 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.122 | 2.000 | 0.000 | Hitting_2B | 0.121 | 0.000 | 1.879 | 2.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.460 | 3.000 | 3.000 | Hitting_AB | 3.567 | 4.000 | -0.567 | -1.000 |
| predicted_AVG | 0.239 | 0.667 | 0.333 | Hitting_AVG | 0.206 | 0.250 | 0.461 | 0.417 |
| predicted_BB | 0.527 | 1.000 | 1.000 | Hitting_BB | 0.543 | 1.000 | 0.457 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_H | 0.830 | 2.000 | 1.000 | Hitting_H | 0.733 | 1.000 | 1.267 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.069 | 1.000 | -0.069 | -1.000 |
| predicted_OBP | 0.352 | 0.750 | 0.500 | Hitting_OBP | 0.323 | 0.400 | 0.427 | 0.350 |
| predicted_R | 0.519 | 1.000 | 1.000 | Hitting_R | 0.547 | 2.000 | 0.453 | -1.000 |
| predicted_RBI | 0.290 | 2.000 | 0.000 | Hitting_RBI | 0.259 | 1.000 | 1.741 | 1.000 |
| predicted_SLG | 0.352 | 1.333 | 0.333 | Hitting_SLG | 0.320 | 1.000 | 1.014 | 0.333 |
| predicted_SO | 0.863 | 0.000 | 1.000 | Hitting_SO | 0.895 | 1.000 | -0.895 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.1220 -> 2.0000 (boost 1.8780, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3520 -> 0.3646 (boost 0.0126, better) | predicted_AVG: 0.2390 -> 0.2277 (deboost -0.0113, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3646 -> 0.4150 (boost 0.0504, better) | predicted_OBP: 0.3506 -> 0.3323 (deboost -0.0183, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7863 -> 1.0000 (boost 0.2137, better) | predicted_BB: 0.5265 -> 0.0000 (deboost -0.5265, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.227 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5466 -> 1.0000 (boost 0.4534, 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 | 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 | 5 | 4 | 1 | 5 | 0 | predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.122,
"predicted_3B": 0.038,
"predicted_AB": 3.46,
"predicted_AVG": 0.239,
"predicted_BB": 0.527,
"predicted_H": 0.83,
"predicted_HR": 0.16,
"predicted_OBP": 0.352,
"predicted_R": 0.519,
"predicted_RBI": 0.29,
"predicted_SLG": 0.352,
"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.1363,
"predicted_3B": 0.0311,
"predicted_AB": 3.4244,
"predicted_AVG": 0.2277,
"predicted_BB": 0.5253,
"predicted_H": 0.7818,
"predicted_HBP": 0.188,
"predicted_HR": 0.1439,
"predicted_OBP": 0.3506,
"predicted_R": 0.5411,
"predicted_RBI": 0.2926,
"predicted_SLG": 0.3646,
"predicted_SO": 0.8773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1363,
"delta": 0.0143,
"percent_delta": 0.1172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0311,
"delta": -0.0069,
"percent_delta": -0.1816,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.46,
"after": 3.4244,
"delta": -0.0356,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2277,
"delta": -0.0113,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.527,
"after": 0.5253,
"delta": -0.0017,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.7818,
"delta": -0.0482,
"percent_delta": -0.0581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1439,
"delta": -0.0161,
"percent_delta": -0.1006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3506,
"delta": -0.0014,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.5411,
"delta": 0.0221,
"percent_delta": 0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2926,
"delta": 0.0026,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3646,
"delta": 0.0126,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.8773,
"delta": 0.0143,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3646,
"delta": 0.0126,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2277,
"delta": -0.0113,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 131
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1363,
"predicted_3B": 0.0311,
"predicted_AB": 3.4244,
"predicted_AVG": 0.2296,
"predicted_BB": 0.5265,
"predicted_H": 0.7863,
"predicted_HBP": 0.188,
"predicted_HR": 0.1455,
"predicted_OBP": 0.3323,
"predicted_R": 0.5466,
"predicted_RBI": 0.2956,
"predicted_SLG": 0.415,
"predicted_SO": 0.8753
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1363,
"after": 0.1363,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0311,
"after": 0.0311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4244,
"after": 3.4244,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2277,
"after": 0.2296,
"delta": 0.0019,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5253,
"after": 0.5265,
"delta": 0.0012,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7818,
"after": 0.7863,
"delta": 0.0045,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.188,
"after": 0.188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1439,
"after": 0.1455,
"delta": 0.0016,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3506,
"after": 0.3323,
"delta": -0.0183,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5411,
"after": 0.5466,
"delta": 0.0055,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2926,
"after": 0.2956,
"delta": 0.003,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3646,
"after": 0.415,
"delta": 0.0504,
"percent_delta": 0.1382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8773,
"after": 0.8753,
"delta": -0.002,
"percent_delta": -0.0023,
"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.3646,
"after": 0.415,
"delta": 0.0504,
"percent_delta": 0.1382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3506,
"after": 0.3323,
"delta": -0.0183,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.227 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1363,
"after": 0.0,
"delta": -0.1363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0311,
"after": 0.0,
"delta": -0.0311,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4244,
"after": 3.0,
"delta": -0.4244,
"percent_delta": -0.1239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5265,
"after": 0.0,
"delta": -0.5265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7863,
"after": 1.0,
"delta": 0.2137,
"percent_delta": 0.2718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1455,
"after": 0.0,
"delta": -0.1455,
"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": 0.8753,
"after": 1.0,
"delta": 0.1247,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7863,
"after": 1.0,
"delta": 0.2137,
"percent_delta": 0.2718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5265,
"after": 0.0,
"delta": -0.5265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5466,
"after": 1.0,
"delta": 0.4534,
"percent_delta": 0.8295,
"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.5466,
"after": 1.0,
"delta": 0.4534,
"percent_delta": 0.8295,
"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": 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": 3.0,
"after": 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": 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": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.411,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2296,
"after": 0.227,
"delta": -0.0026,
"percent_delta": -0.0113,
"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.3323,
"after": 0.334,
"delta": 0.0017,
"percent_delta": 0.0051,
"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.415,
"after": 0.411,
"delta": -0.004,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2296,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3323,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.415,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2296,
"delta": 0.0026,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3323,
"delta": -0.0017,
"percent_delta": -0.0052,
"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.411,
"after": 0.415,
"delta": 0.004,
"percent_delta": 0.0098,
"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.122,
"after": 2.0,
"delta": 1.878,
"percent_delta": 15.3934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.46,
"after": 3.0,
"delta": -0.46,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2296,
"delta": -0.0094,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.527,
"after": 1.0,
"delta": 0.473,
"percent_delta": 0.8975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3323,
"delta": -0.0197,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 1.0,
"delta": 0.481,
"percent_delta": 0.9268,
"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.352,
"after": 0.415,
"delta": 0.063,
"percent_delta": 0.179,
"direction": "boost",
"projection_effect": "better",
"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": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.122,
"after": 2.0,
"delta": 1.878,
"percent_delta": 15.3934,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 3.460 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.527 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.519 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.352 | - |
| 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.136 | 0.014 |
| predicted_3B | 0.031 | -0.007 |
| predicted_AB | 3.424 | -0.036 |
| predicted_AVG | 0.228 | -0.011 |
| predicted_BB | 0.525 | -0.002 |
| predicted_H | 0.782 | -0.048 |
| predicted_HBP | 0.188 | - |
| predicted_HR | 0.144 | -0.016 |
| predicted_OBP | 0.351 | -0.001 |
| predicted_R | 0.541 | 0.022 |
| predicted_RBI | 0.293 | 0.003 |
| predicted_SLG | 0.365 | 0.013 |
| predicted_SO | 0.877 | 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.136 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 3.424 | 0.000 |
| predicted_AVG | 0.230 | 0.002 |
| predicted_BB | 0.526 | 0.001 |
| predicted_H | 0.786 | 0.004 |
| predicted_HBP | 0.188 | 0.000 |
| predicted_HR | 0.145 | 0.002 |
| predicted_OBP | 0.332 | -0.018 |
| predicted_R | 0.547 | 0.005 |
| predicted_RBI | 0.296 | 0.003 |
| predicted_SLG | 0.415 | 0.050 |
| predicted_SO | 0.875 | -0.002 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.227 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.136 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 3.000 | -0.424 |
| predicted_AVG | 0.227 | -0.003 |
| predicted_BB | 0.000 | -0.526 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.334 | 0.002 |
| predicted_R | 1.000 | 0.453 |
| predicted_RBI | 0.000 | -0.296 |
| predicted_SLG | 0.411 | -0.004 |
| predicted_SO | 1.000 | 0.125 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 5.000 | 0.1765 | 0.3636 | 0.4118 | 0.1765 | 0.0588 | 0.1177 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 8.000 | 2.000 | 0.000 | 2.000 | 3.000 | 7.000 | 5.000 | 9.000 | 0.2500 | 0.4000 | 0.5000 | 0.2500 | 0.0625 | 0.0938 | 0.1562 | 0.2812 |
| season | 0.60 | 131 | - | 444.000 | 93.000 | 16.000 | 5.000 | 9.000 | 32.000 | 68.000 | 69.000 | 113.000 | 0.2095 | 0.3308 | 0.3288 | 0.2095 | 0.0203 | 0.0721 | 0.1554 | 0.2545 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1550 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.3780 |
| predicted_AVG | 0.2130 |
| predicted_BB | 0.5230 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.1880 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3487 |
| predicted_R | 0.5700 |
| predicted_RBI | 0.2960 |
| predicted_SLG | 0.3811 |
| predicted_SO | 0.8960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.1550 | 0.1363 | model_form_blend |
| predicted_3B | 0.0380 | 0.0220 | 0.0311 | model_form_blend |
| predicted_AB | 3.4600 | 3.3780 | 3.4244 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2130 | 0.2277 | model_form_blend |
| predicted_BB | 0.5270 | 0.5230 | 0.5253 | model_form_blend |
| predicted_H | 0.8300 | 0.7190 | 0.7818 | model_form_blend |
| predicted_HBP | - | 0.1880 | 0.1880 | form_only |
| predicted_HR | 0.1600 | 0.1230 | 0.1439 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3487 | 0.3506 | model_form_blend |
| predicted_R | 0.5190 | 0.5700 | 0.5411 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2960 | 0.2926 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3811 | 0.3646 | model_form_blend |
| predicted_SO | 0.8630 | 0.8960 | 0.8773 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 131 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 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 | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 805300 |
| playerID | 805300 |
| playerName | Jakob Marsee |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.303 |
| sl_xwoba | 0.304 |
| sl_xba | 0.22 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 34.7 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 18.7 |
| sl_swing_percent | 39.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.214 | 0.000 | 1.000 | Hitting_2B | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.008 | 1.000 | -0.008 | -1.000 |
| predicted_AB | 2.667 | 4.000 | 3.000 | Hitting_AB | 2.951 | 4.000 | 1.049 | 0.000 |
| predicted_AVG | 0.253 | 0.500 | 0.333 | Hitting_AVG | 0.197 | 0.500 | 0.303 | 0.000 |
| predicted_BB | 0.119 | 0.000 | 0.000 | Hitting_BB | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.620 | 2.000 | 1.000 | Hitting_H | 0.582 | 2.000 | 1.418 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.033 | 1.000 | -0.033 | -1.000 |
| predicted_OBP | 0.267 | 0.500 | 0.333 | Hitting_OBP | 0.232 | 0.500 | 0.268 | 0.000 |
| predicted_R | 0.262 | 1.000 | 0.000 | Hitting_R | 0.287 | 2.000 | 0.713 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.377 | 4.000 | -0.377 | -4.000 |
| predicted_SLG | 0.437 | 0.500 | 0.667 | Hitting_SLG | 0.325 | 1.750 | 0.175 | -1.250 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.754 | 1.000 | 0.246 | 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_H: 0.6200 -> 2.0000 (boost 1.3800, better) |
| Biggest Deboost | predicted_RBI: 0.5700 -> 0.0000 (deboost -0.5700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_AB: 2.6670 -> 2.7174 (boost 0.0504, 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.2546 -> 0.2438 (deboost -0.0108, 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.6132 -> 1.0000 (boost 0.3868, better) | predicted_2B: 0.2124 -> 0.0000 (deboost -0.2124, worse) | AB rounded to 3 (raw=2.72), rates preserved: AVG=0.244 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2872 -> 0.0000 (deboost -0.2872, 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.2736 -> 0.2800 (boost 0.0064, 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 | 3 | 1 | 3 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2800 -> 0.2736 (deboost -0.0064, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "688363",
"player_name": "Graham Pauley",
"position": "3B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.024,
"predicted_AB": 2.667,
"predicted_AVG": 0.253,
"predicted_BB": 0.119,
"predicted_H": 0.62,
"predicted_HR": 0.08,
"predicted_OBP": 0.267,
"predicted_R": 0.262,
"predicted_RBI": 0.57,
"predicted_SLG": 0.437,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2124,
"predicted_3B": 0.0424,
"predicted_AB": 2.7174,
"predicted_AVG": 0.2546,
"predicted_BB": 0.1112,
"predicted_H": 0.6587,
"predicted_HBP": 0.005,
"predicted_HR": 0.0878,
"predicted_OBP": 0.2737,
"predicted_R": 0.2843,
"predicted_RBI": 0.6071,
"predicted_SLG": 0.4578,
"predicted_SO": 0.6678
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.2124,
"delta": -0.0016,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0424,
"delta": 0.0184,
"percent_delta": 0.7667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.667,
"after": 2.7174,
"delta": 0.0504,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2546,
"delta": 0.0016,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.1112,
"delta": -0.0078,
"percent_delta": -0.0655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6587,
"delta": 0.0387,
"percent_delta": 0.0624,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0878,
"delta": 0.0078,
"percent_delta": 0.0975,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2737,
"delta": 0.0067,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.262,
"after": 0.2843,
"delta": 0.0223,
"percent_delta": 0.0851,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.6071,
"delta": 0.0371,
"percent_delta": 0.0651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4578,
"delta": 0.0208,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6678,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.667,
"after": 2.7174,
"delta": 0.0504,
"percent_delta": 0.0189,
"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": 42
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2124,
"predicted_3B": 0.0424,
"predicted_AB": 2.7174,
"predicted_AVG": 0.2438,
"predicted_BB": 0.1115,
"predicted_H": 0.6625,
"predicted_HBP": 0.005,
"predicted_HR": 0.0888,
"predicted_OBP": 0.2736,
"predicted_R": 0.2872,
"predicted_RBI": 0.6132,
"predicted_SLG": 0.4512,
"predicted_SO": 0.6663
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2124,
"after": 0.2124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0424,
"after": 0.0424,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7174,
"after": 2.7174,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2546,
"after": 0.2438,
"delta": -0.0108,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1112,
"after": 0.1115,
"delta": 0.0003,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6587,
"after": 0.6625,
"delta": 0.0038,
"percent_delta": 0.0058,
"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.0878,
"after": 0.0888,
"delta": 0.001,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2737,
"after": 0.2736,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2843,
"after": 0.2872,
"delta": 0.0029,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6071,
"after": 0.6132,
"delta": 0.0061,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4578,
"after": 0.4512,
"delta": -0.0066,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6678,
"after": 0.6663,
"delta": -0.0015,
"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.2546,
"after": 0.2438,
"delta": -0.0108,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.72), rates preserved: AVG=0.244 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2124,
"after": 0.0,
"delta": -0.2124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0424,
"after": 0.0,
"delta": -0.0424,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7174,
"after": 3.0,
"delta": 0.2826,
"percent_delta": 0.104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1115,
"after": 0.0,
"delta": -0.1115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6625,
"after": 1.0,
"delta": 0.3375,
"percent_delta": 0.5094,
"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.0888,
"after": 0.0,
"delta": -0.0888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6132,
"after": 1.0,
"delta": 0.3868,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6663,
"after": 1.0,
"delta": 0.3337,
"percent_delta": 0.5008,
"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.6132,
"after": 1.0,
"delta": 0.3868,
"percent_delta": 0.6308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2124,
"after": 0.0,
"delta": -0.2124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2872,
"after": 0.0,
"delta": -0.2872,
"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.2872,
"after": 0.0,
"delta": -0.2872,
"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": 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": 3.0,
"predicted_AVG": 0.244,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.451,
"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.2438,
"after": 0.244,
"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.2736,
"after": 0.28,
"delta": 0.0064,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4512,
"after": 0.451,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2736,
"after": 0.28,
"delta": 0.0064,
"percent_delta": 0.0234,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2438,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2736,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4512,
"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.244,
"after": 0.2438,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.28,
"after": 0.2736,
"delta": -0.0064,
"percent_delta": -0.0229,
"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.451,
"after": 0.4512,
"delta": 0.0002,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.28,
"after": 0.2736,
"delta": -0.0064,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.667,
"after": 4.0,
"delta": 1.333,
"percent_delta": 0.4998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2438,
"delta": -0.0092,
"percent_delta": -0.0364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"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.267,
"after": 0.2736,
"delta": 0.0066,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.262,
"after": 1.0,
"delta": 0.738,
"percent_delta": 2.8168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4512,
"delta": 0.0142,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 2.667 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.119 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.262 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | -0.002 |
| predicted_3B | 0.042 | 0.018 |
| predicted_AB | 2.717 | 0.050 |
| predicted_AVG | 0.255 | 0.002 |
| predicted_BB | 0.111 | -0.008 |
| predicted_H | 0.659 | 0.039 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.088 | 0.008 |
| predicted_OBP | 0.274 | 0.007 |
| predicted_R | 0.284 | 0.022 |
| predicted_RBI | 0.607 | 0.037 |
| predicted_SLG | 0.458 | 0.021 |
| predicted_SO | 0.668 | 0.001 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 2.717 | 0.000 |
| predicted_AVG | 0.244 | -0.011 |
| predicted_BB | 0.112 | 0.000 |
| predicted_H | 0.662 | 0.004 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.089 | 0.001 |
| predicted_OBP | 0.274 | -0.000 |
| predicted_R | 0.287 | 0.003 |
| predicted_RBI | 0.613 | 0.006 |
| predicted_SLG | 0.451 | -0.007 |
| predicted_SO | 0.666 | -0.001 |
AB rounded to 3 (raw=2.72), rates preserved: AVG=0.244 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.212 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 3.000 | 0.283 |
| predicted_AVG | 0.244 | 0.000 |
| predicted_BB | 0.000 | -0.112 |
| predicted_H | 1.000 | 0.338 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.280 | 0.006 |
| predicted_R | 0.000 | -0.287 |
| predicted_RBI | 1.000 | 0.387 |
| predicted_SLG | 0.451 | -0.000 |
| predicted_SO | 1.000 | 0.334 |
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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 4.000 | 1.000 | 1.000 | 1.000 | 6.000 | 2.000 | 0.000 | 3.000 | 0.3333 | 0.3333 | 0.8333 | 0.3333 | 0.0833 | 0.5000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 23.000 | 8.000 | 2.000 | 1.000 | 1.000 | 8.000 | 2.000 | 0.000 | 5.000 | 0.3478 | 0.3478 | 0.6522 | 0.3478 | 0.0435 | 0.3478 | 0.0000 | 0.2174 |
| season | 0.60 | 42 | - | 112.000 | 23.000 | 9.000 | 1.000 | 2.000 | 18.000 | 11.000 | 5.000 | 28.000 | 0.2054 | 0.2373 | 0.3571 | 0.2054 | 0.0179 | 0.1607 | 0.0446 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0710 |
| predicted_AB | 2.7960 |
| predicted_AVG | 0.2572 |
| predicted_BB | 0.0990 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.2841 |
| predicted_R | 0.3190 |
| predicted_RBI | 0.6650 |
| predicted_SLG | 0.4903 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.2100 | 0.2124 | model_form_blend |
| predicted_3B | 0.0240 | 0.0710 | 0.0424 | model_form_blend |
| predicted_AB | 2.6670 | 2.7960 | 2.7174 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2572 | 0.2546 | model_form_blend |
| predicted_BB | 0.1190 | 0.0990 | 0.1112 | model_form_blend |
| predicted_H | 0.6200 | 0.7190 | 0.6587 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0800 | 0.1000 | 0.0878 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2841 | 0.2737 | model_form_blend |
| predicted_R | 0.2620 | 0.3190 | 0.2843 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6650 | 0.6071 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4903 | 0.4578 | model_form_blend |
| predicted_SO | 0.6670 | 0.6690 | 0.6678 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 122 |
| Season rows before report date | 122 |
| Report year | 2026 |
| Profile rows used | 42 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 7 |
| 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 | 20260901_MIA@KC |
| game_type | full |
| mlbID | 688363 |
| playerID | 688363 |
| playerName | Graham Pauley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-01 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.257 |
| sl_xwoba | 0.226 |
| sl_xba | 0.189 |
| sl_xslg | 0.293 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 25.6 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 46.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.096 | 0.000 | 0.000 | Hitting_2B | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.240 | 3.000 | 3.000 | Hitting_AB | 3.232 | 4.000 | -0.232 | -1.000 |
| predicted_AVG | 0.230 | 0.333 | 0.000 | Hitting_AVG | 0.242 | 0.250 | 0.091 | 0.083 |
| predicted_BB | 0.205 | 1.000 | 0.000 | Hitting_BB | 0.224 | 0.000 | 0.776 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 0.000 | Hitting_H | 0.783 | 1.000 | 0.217 | 0.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.175 | 0.000 | 0.825 | 1.000 |
| predicted_OBP | 0.277 | 0.500 | 0.000 | Hitting_OBP | 0.297 | 0.250 | 0.203 | 0.250 |
| predicted_R | 0.398 | 1.000 | 0.000 | Hitting_R | 0.471 | 0.000 | 0.529 | 1.000 |
| predicted_RBI | 0.360 | 1.000 | 0.000 | Hitting_RBI | 0.540 | 0.000 | 0.460 | 1.000 |
| predicted_SLG | 0.351 | 1.333 | 0.000 | Hitting_SLG | 0.433 | 0.250 | 0.900 | 1.083 |
| predicted_SO | 0.843 | 1.000 | 1.000 | Hitting_SO | 0.920 | 1.000 | 0.080 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 2 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_AB: 3.2400 -> 3.0000 (deboost -0.2400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.2400 -> 3.1887 (deboost -0.0513, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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.7239 -> 1.0000 (boost 0.2761, better) | predicted_RBI: 0.3505 -> 0.0000 (deboost -0.3505, worse) | AB rounded to 3 (raw=3.24), rates preserved: AVG=0.223 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3676 -> 0.0000 (deboost -0.3676, 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 | 1 | 1 | 0 | 1 | 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 | 4 | 4 | 0 | 4 | 0 | predicted_BB: 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": "691788",
"player_name": "Joe Mack",
"position": "C",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.096,
"predicted_3B": 0.0,
"predicted_AB": 3.24,
"predicted_AVG": 0.23,
"predicted_BB": 0.205,
"predicted_H": 0.74,
"predicted_HR": 0.1,
"predicted_OBP": 0.277,
"predicted_R": 0.398,
"predicted_RBI": 0.36,
"predicted_SLG": 0.351,
"predicted_SO": 0.843
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0918,
"predicted_3B": 0.0004,
"predicted_AB": 3.1887,
"predicted_AVG": 0.2266,
"predicted_BB": 0.1991,
"predicted_H": 0.7198,
"predicted_HBP": 0.016,
"predicted_HR": 0.0962,
"predicted_OBP": 0.2742,
"predicted_R": 0.3639,
"predicted_RBI": 0.347,
"predicted_SLG": 0.3456,
"predicted_SO": 0.8615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.096,
"after": 0.0918,
"delta": -0.0042,
"percent_delta": -0.0437,
"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.24,
"after": 3.1887,
"delta": -0.0513,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2266,
"delta": -0.0034,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.1991,
"delta": -0.0059,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7198,
"delta": -0.0202,
"percent_delta": -0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0962,
"delta": -0.0038,
"percent_delta": -0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2742,
"delta": -0.0028,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 0.3639,
"delta": -0.0341,
"percent_delta": -0.0857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.347,
"delta": -0.013,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3456,
"delta": -0.0054,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.843,
"after": 0.8615,
"delta": 0.0185,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.24,
"after": 3.1887,
"delta": -0.0513,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0918,
"predicted_3B": 0.0004,
"predicted_AB": 3.1887,
"predicted_AVG": 0.227,
"predicted_BB": 0.1996,
"predicted_H": 0.7239,
"predicted_HBP": 0.016,
"predicted_HR": 0.0973,
"predicted_OBP": 0.2725,
"predicted_R": 0.3676,
"predicted_RBI": 0.3505,
"predicted_SLG": 0.3476,
"predicted_SO": 0.8595
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0918,
"after": 0.0918,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1887,
"after": 3.1887,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.227,
"delta": 0.0004,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1991,
"after": 0.1996,
"delta": 0.0005,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7198,
"after": 0.7239,
"delta": 0.0041,
"percent_delta": 0.0057,
"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.0962,
"after": 0.0973,
"delta": 0.0011,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2742,
"after": 0.2725,
"delta": -0.0017,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3639,
"after": 0.3676,
"delta": 0.0037,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.347,
"after": 0.3505,
"delta": 0.0035,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3456,
"after": 0.3476,
"delta": 0.002,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8615,
"after": 0.8595,
"delta": -0.002,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.24), rates preserved: AVG=0.223 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.0918,
"after": 0.0,
"delta": -0.0918,
"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.1887,
"after": 3.0,
"delta": -0.1887,
"percent_delta": -0.0592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7239,
"after": 1.0,
"delta": 0.2761,
"percent_delta": 0.3814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0973,
"after": 0.0,
"delta": -0.0973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8595,
"after": 1.0,
"delta": 0.1405,
"percent_delta": 0.1635,
"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.7239,
"after": 1.0,
"delta": 0.2761,
"percent_delta": 0.3814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3676,
"after": 0.0,
"delta": -0.3676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3676,
"after": 0.0,
"delta": -0.3676,
"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.223,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.274,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.35,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.223,
"delta": -0.004,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2725,
"after": 0.274,
"delta": 0.0015,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3476,
"after": 0.35,
"delta": 0.0024,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2725,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3476,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.227,
"delta": 0.004,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.274,
"after": 0.2725,
"delta": -0.0015,
"percent_delta": -0.0053,
"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.35,
"after": 0.3476,
"delta": -0.0024,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.096,
"after": 0.0,
"delta": -0.096,
"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.24,
"after": 3.0,
"delta": -0.24,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.227,
"delta": -0.003,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 1.0,
"delta": 0.795,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2725,
"delta": -0.0045,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.398,
"after": 1.0,
"delta": 0.602,
"percent_delta": 1.5126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3476,
"delta": -0.0034,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.24,
"after": 3.0,
"delta": -0.24,
"percent_delta": -0.0741,
"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.096 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.240 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.205 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.398 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.843 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | -0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.189 | -0.051 |
| predicted_AVG | 0.227 | -0.003 |
| predicted_BB | 0.199 | -0.006 |
| predicted_H | 0.720 | -0.020 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.096 | -0.004 |
| predicted_OBP | 0.274 | -0.003 |
| predicted_R | 0.364 | -0.034 |
| predicted_RBI | 0.347 | -0.013 |
| predicted_SLG | 0.346 | -0.005 |
| predicted_SO | 0.862 | 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.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.189 | 0.000 |
| predicted_AVG | 0.227 | 0.000 |
| predicted_BB | 0.200 | 0.001 |
| predicted_H | 0.724 | 0.004 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.097 | 0.001 |
| predicted_OBP | 0.273 | -0.002 |
| predicted_R | 0.368 | 0.004 |
| predicted_RBI | 0.350 | 0.004 |
| predicted_SLG | 0.348 | 0.002 |
| predicted_SO | 0.860 | -0.002 |
AB rounded to 3 (raw=3.24), rates preserved: AVG=0.223 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 | 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.092 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.189 |
| predicted_AVG | 0.223 | -0.004 |
| predicted_BB | 0.000 | -0.200 |
| predicted_H | 1.000 | 0.276 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.274 | 0.002 |
| predicted_R | 0.000 | -0.368 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.350 | 0.002 |
| predicted_SO | 1.000 | 0.140 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.2000 | 0.2500 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 9.000 | 0.1935 | 0.2188 | 0.2258 | 0.1935 | 0.0000 | 0.0645 | 0.0323 | 0.2903 |
| season | 0.60 | 83 | - | 252.000 | 59.000 | 8.000 | 0.000 | 12.000 | 38.000 | 33.000 | 17.000 | 70.000 | 0.2341 | 0.2878 | 0.4087 | 0.2341 | 0.0476 | 0.1508 | 0.0675 | 0.2778 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1180 |
| predicted_AVG | 0.2220 |
| predicted_BB | 0.1910 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.2703 |
| predicted_R | 0.3170 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3381 |
| predicted_SO | 0.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0960 | 0.0860 | 0.0918 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2400 | 3.1180 | 3.1887 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2220 | 0.2266 | model_form_blend |
| predicted_BB | 0.2050 | 0.1910 | 0.1991 | model_form_blend |
| predicted_H | 0.7400 | 0.6920 | 0.7198 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1000 | 0.0910 | 0.0962 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2703 | 0.2742 | model_form_blend |
| predicted_R | 0.3980 | 0.3170 | 0.3639 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3290 | 0.3470 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3381 | 0.3456 | model_form_blend |
| predicted_SO | 0.8430 | 0.8870 | 0.8615 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 263 |
| Season rows before report date | 263 |
| 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 | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 1 |
| 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 | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 691788 |
| playerID | 691788 |
| playerName | Joe Mack |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.304 |
| sl_xwoba | 0.293 |
| sl_xba | 0.225 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 26.2 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.724 | 1.000 | -0.724 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.517 | 4.000 | -1.517 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 6.034 | 8.000 | -6.034 | -8.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.476 | 6.000 | -0.376 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.828 | 3.000 | -2.828 | -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: 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": "645261",
"player_name": "Sandy Alcantara",
"position": "Starter",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 33.000 | 9.000 | 28.000 | 9.000 | 20.000 | 1.000 | 2.4545 | 1.1212 | 0.2727 | 0.8485 | 0.2727 | 0.6061 | 0.0303 |
| last_10 | 0.35 | 10 | 66.000 | 18.000 | 53.000 | 17.000 | 48.000 | 6.000 | 2.4545 | 1.0606 | 0.2727 | 0.8030 | 0.2576 | 0.7273 | 0.0909 |
| season | 0.20 | 29 | 189.200 | 73.000 | 175.000 | 50.000 | 140.000 | 18.000 | 3.4640 | 1.1863 | 0.3849 | 0.9227 | 0.2636 | 0.7381 | 0.0949 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8600 |
| predicted_ER | 2.1500 |
| predicted_ERA | 2.9244 |
| predicted_H | 5.7300 |
| predicted_HR | 0.5060 |
| predicted_IP | 6.2000 |
| predicted_SO | 4.7230 |
| predicted_WHIP | 1.1469 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.8600 | 1.5056 | model_form_blend |
| predicted_ER | 1.0000 | 2.1500 | 1.6760 | model_form_blend |
| predicted_ERA | - | 2.9244 | 2.9244 | form_only |
| predicted_H | 0.0000 | 5.7300 | 3.3684 | model_form_blend |
| predicted_HR | 0.0000 | 0.5060 | 0.2975 | model_form_blend |
| predicted_IP | 6.1000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 2.0000 | 4.7230 | 3.6007 | model_form_blend |
| predicted_WHIP | - | 1.1469 | 1.1469 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 21 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 4 |
| Pitching_ERA | 3.46 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 6 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 4 |
| Pitching_SO | 3 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_MIA@WAS |
| game_type | full |
| mlbID | 645261 |
| playerID | 645261 |
| playerName | Sandy Alcantara |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-08-29 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.294 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 34.9 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 77.438466736 |
| sl_avg_hyper_speed | 93.49701809 |
| 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.533 | 0.000 | 0.467 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.767 | 0.000 | -0.767 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.870 | 1.000 | 0.130 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.067 | 0.000 | -0.067 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676534",
"player_name": "Calvin Faucher",
"position": "Closer",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 1.000 | 2.000 | 1.000 | 3.000 | 0.000 | 1.6875 | 0.5625 | 0.1875 | 0.3750 | 0.1875 | 0.5625 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 3.000 | 1.000 | 8.000 | 0.000 | 0.9000 | 0.4000 | 0.1000 | 0.3000 | 0.1000 | 0.8000 | 0.0000 |
| season | 0.20 | 60 | 59.200 | 25.000 | 46.000 | 32.000 | 64.000 | 1.000 | 3.7709 | 1.3073 | 0.4190 | 0.7710 | 0.5363 | 1.0726 | 0.0168 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2690 |
| predicted_ER | 0.2900 |
| predicted_ERA | 2.6081 |
| predicted_H | 0.5880 |
| predicted_HR | 0.0460 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8040 |
| predicted_WHIP | 0.8573 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2690 | 0.6157 | model_form_blend |
| predicted_ER | 0.0000 | 0.2900 | 0.1525 | model_form_blend |
| predicted_ERA | - | 2.6081 | 2.6081 | form_only |
| predicted_H | 0.0000 | 0.5880 | 0.3091 | model_form_blend |
| predicted_HR | 0.0000 | 0.0460 | 0.0242 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8040 | 0.8970 | model_form_blend |
| predicted_WHIP | - | 0.8573 | 0.8573 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.77 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 6 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 676534 |
| playerID | 676534 |
| playerName | Calvin Faucher |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.275 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 39.1 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 42.8 |
| sl_avg_best_speed | 76.955807662 |
| sl_avg_hyper_speed | 94.14059987 |
| 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.171 | 0.000 | -0.171 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.400 | 1.000 | 0.600 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.000 | 2.000 | 1.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.751 | 1.000 | 0.249 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.971 | 0.000 | -0.971 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "676604",
"player_name": "Tyler Zuber",
"position": "Setup Man",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 4.000 | 6.000 | 0.000 | 4.000 | 2.000 | 7.7143 | 1.2857 | 0.8571 | 1.2857 | 0.0000 | 0.8571 | 0.4286 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 11.000 | 2.000 | 7.000 | 3.000 | 4.8214 | 1.3929 | 0.5357 | 1.1786 | 0.2143 | 0.7500 | 0.3214 |
| season | 0.20 | 35 | 31.200 | 14.000 | 35.000 | 6.000 | 34.000 | 7.000 | 3.9789 | 1.2947 | 0.4421 | 1.1053 | 0.1895 | 1.0737 | 0.2210 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2260 |
| predicted_ER | 0.5890 |
| predicted_ERA | 5.3051 |
| predicted_H | 1.1070 |
| predicted_HR | 0.2600 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8960 |
| predicted_WHIP | 1.3332 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2260 | 0.1049 | model_form_blend |
| predicted_ER | 1.0000 | 0.5890 | 0.8093 | model_form_blend |
| predicted_ERA | - | 5.3051 | 5.3051 | form_only |
| predicted_H | 2.0000 | 1.1070 | 1.5856 | model_form_blend |
| predicted_HR | 0.0000 | 0.2600 | 0.1207 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8960 | 0.4158 | model_form_blend |
| predicted_WHIP | - | 1.3332 | 1.3332 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.98 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260901_MIA@KC |
| game_type | full |
| mlbID | 676604 |
| playerID | 676604 |
| playerName | Tyler Zuber |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-01 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.349 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 79.992376304 |
| sl_avg_hyper_speed | 94.219454022 |
| 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.456 | 0.000 | 0.544 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.368 | 0.000 | 1.632 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.684 | 0.000 | 2.316 | 3.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.891 | 1.000 | -0.691 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.175 | 1.000 | 0.825 | 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": "656848",
"player_name": "Michael Petersen",
"position": "Middle Reliever (High Leverage)",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.2,
"predicted_R": 2.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 3.000 | 4.000 | 4.000 | 0.000 | 0.0000 | 1.7500 | 0.0000 | 0.7500 | 1.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 9.000 | 4.000 | 9.000 | 1.000 | 5.0000 | 1.4444 | 0.5556 | 1.0000 | 0.4444 | 1.0000 | 0.1111 |
| season | 0.20 | 57 | 57.100 | 21.000 | 39.000 | 26.000 | 67.000 | 5.000 | 3.2965 | 1.1337 | 0.3663 | 0.6802 | 0.4535 | 1.1686 | 0.0872 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4750 |
| predicted_ER | 0.2680 |
| predicted_ERA | 3.0354 |
| predicted_H | 0.6900 |
| predicted_HR | 0.0660 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7990 |
| predicted_WHIP | 1.4665 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4750 | 0.7259 | model_form_blend |
| predicted_ER | 2.0000 | 0.2680 | 1.0956 | model_form_blend |
| predicted_ERA | - | 3.0354 | 3.0354 | form_only |
| predicted_H | 3.0000 | 0.6900 | 1.7938 | model_form_blend |
| predicted_HR | 1.0000 | 0.0660 | 0.5123 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7990 | 1.3729 | model_form_blend |
| predicted_WHIP | - | 1.4665 | 1.4665 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 57 |
| Season rows before report date | 57 |
| 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 | 0.2 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 2 |
| HR | 1 |
| BF | 6 |
| 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 | 3.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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 656848 |
| playerID | 656848 |
| playerName | Michael Petersen |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-09-02 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.276 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 41.3 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 81.073514203 |
| sl_avg_hyper_speed | 94.508210292 |
| Field | Value |
|---|---|
| Pitcher | Michael Wacha |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0172 |
| ESPN Rank | 22 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1615 |
| Avg Velo | 86.9836 |
| Avg Spin | 1984.1136 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 3 |
| Pre H | 8 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.3223 |
| Season WHIP | 1.0957 |
| Role Avg IP | 6.3210 |
| Recent Avg IP | 6.4670 |
| Last Start IP | 8 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"opponent": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"edges": {
"quality_edge": -0.1132,
"offense_edge": -0.0473,
"opponent_offense_edge": -0.0267,
"defense_strength": -0.0861,
"opponent_defense_weakness": -0.0585,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.994,
"run_prevention": 1.01,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "608379",
"profile": {
"available": true,
"pitcher_id": "608379",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 604.0,
"k_percent": 19.8,
"bb_percent": 6.1,
"woba": 0.298,
"xwoba": 0.308,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 36.7,
"avg_best_speed": 77.713,
"avg_hyper_speed": 93.6019,
"whiff_percent": 21.4,
"swing_percent": 48.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1246,
"command_and_miss": -0.175,
"regression_edge": -0.2857,
"xwoba_edge": 0.0857,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.1571,
"whiff_edge": -0.5429,
"bb_edge": 0.75,
"pitch_design_score": -0.1615
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608379",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9836,
"release_spin_rate": 1984.1136,
"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.1615,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1538,
"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.0172,
"sample_weight": 1.0,
"run_prevention_factor": 1.0015,
"strikeout_factor": 0.9663,
"walk_factor": 0.94,
"homer_factor": 0.9823,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608379",
"espn_id": 32640,
"player_name": "Michael Wacha",
"team": "KC",
"role": "pitcher",
"espn_rank": 22,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 22,
"gp_value": 27.0,
"gp_rank": 251,
"gs_value": 27.0,
"gs_rank": 19,
"qs_value": 18.0,
"qs_rank": 4,
"era_value": 3.3222,
"era_rank": 21.0,
"w_value": 8.0,
"w_rank": 58,
"l_value": 8.0,
"l_rank": 45,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 170.2,
"ip_rank": 4,
"h_value": 145.0,
"h_rank": 19,
"er_value": 63.0,
"er_rank": 49,
"hr_value": 22.0,
"hr_rank": 20,
"bb_value": 42.0,
"bb_rank": 65,
"k_value": 136.0,
"k_rank": 45,
"k_per_9_value": 7.171875,
"k_per_9_rank": 303,
"whip_value": 1.0957,
"whip_rank": 14.0,
"war_value": 3.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0015,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0015,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.94,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9823,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9663,
"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": 62.0,
"ER": 23,
"H": 51,
"BB": 12,
"SO": 52,
"HR": 12,
"ERA": 3.338709677419355,
"WHIP": 1.0161290322580645,
"K9": 7.548387096774194,
"HR9": 1.7419354838709677,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-28T00:00:00"
}{
"available": true,
"pitcher_id": "608379",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 86.98359735962079,
"release_spin_rate": 1984.113597852512,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9836,
"release_spin_rate": 1984.1136,
"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.1615,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1538,
"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": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "608379",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.1,
"ER": 9.0,
"R": 9.0,
"H": 23.0,
"BB": 4.0,
"SO": 25.0,
"HR": 6.0,
"BF": 123.0,
"Pitches": 468.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 1.8,
"H": 4.6,
"BB": 0.8,
"SO": 5.0,
"HR": 1.2,
"BF": 24.6,
"Pitches": 93.6
},
"rates": {
"ERA": 2.5052,
"WHIP": 0.8351,
"ER_per_IP": 0.27835,
"H_per_IP": 0.71134,
"BB_per_IP": 0.12371,
"SO_per_IP": 0.7732,
"HR_per_IP": 0.18557
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.0,
"ER": 23.0,
"R": 25.0,
"H": 51.0,
"BB": 12.0,
"SO": 52.0,
"HR": 12.0,
"BF": 248.0,
"Pitches": 968.0
},
"per_game": {
"IP": 6.1,
"ER": 2.3,
"R": 2.5,
"H": 5.1,
"BB": 1.2,
"SO": 5.2,
"HR": 1.2,
"BF": 24.8,
"Pitches": 96.8
},
"rates": {
"ERA": 3.3387,
"WHIP": 1.0161,
"ER_per_IP": 0.37097,
"H_per_IP": 0.82258,
"BB_per_IP": 0.19355,
"SO_per_IP": 0.83871,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 27,
"totals": {
"IP": 170.2,
"ER": 63.0,
"R": 67.0,
"H": 145.0,
"BB": 42.0,
"SO": 136.0,
"HR": 22.0,
"BF": 686.0,
"Pitches": 2537.0
},
"per_game": {
"IP": 6.1,
"ER": 2.3333,
"R": 2.4815,
"H": 5.3704,
"BB": 1.5556,
"SO": 5.037,
"HR": 0.8148,
"BF": 25.4074,
"Pitches": 93.963
},
"rates": {
"ERA": 3.3223,
"WHIP": 1.0957,
"ER_per_IP": 0.36914,
"H_per_IP": 0.84961,
"BB_per_IP": 0.24609,
"SO_per_IP": 0.79688,
"HR_per_IP": 0.12891
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.25,
"predicted_H": 5.12,
"predicted_BB": 1.289,
"predicted_SO": 5.209,
"predicted_HR": 1.091,
"predicted_ERA": 3.1974,
"predicted_WHIP": 1.012
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.416,
"form_weight": 0.584,
"form_reliability": 0.8438,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.25,
"final": 2.978,
"source": "model_form_blend"
},
"predicted_H": {
"model": 8.0,
"form": 5.12,
"final": 6.3181,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.289,
"final": 1.5848,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 5.209,
"final": 3.0421,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.091,
"final": 0.6372,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1974,
"final": 3.1974,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.012,
"final": 1.012,
"source": "form_only"
}
}
}{
"available": false,
"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 | Nate Pearson |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0231 |
| ESPN Rank | 190 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.2710 |
| Season WHIP | 1.2056 |
| Role Avg IP | 1.0540 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"opponent": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"edges": {
"quality_edge": -0.1132,
"offense_edge": -0.0473,
"opponent_offense_edge": -0.0267,
"defense_strength": -0.0861,
"opponent_defense_weakness": -0.0585,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.994,
"run_prevention": 1.01,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663878",
"profile": {
"available": true,
"pitcher_id": "663878",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 118.0,
"k_percent": 20.3,
"bb_percent": 12.2,
"woba": 0.275,
"xwoba": 0.311,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 35.4,
"avg_best_speed": 74.9087,
"avg_hyper_speed": 93.5005,
"whiff_percent": 21.5,
"swing_percent": 44.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3018,
"command_and_miss": -0.4429,
"regression_edge": -1.0286,
"xwoba_edge": 0.0,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.5286,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663878",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0231,
"sample_weight": 0.472,
"run_prevention_factor": 1.002,
"strikeout_factor": 0.9857,
"walk_factor": 1.0293,
"homer_factor": 0.9851,
"woba_minus_xwoba": -0.036,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663878",
"espn_id": 39646,
"player_name": "Nate Pearson",
"team": "KC",
"role": "pitcher",
"espn_rank": 190,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 190,
"gp_value": 32.0,
"gp_rank": 201,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.271,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 4.0,
"hld_rank": 186,
"ip_value": 35.2,
"ip_rank": 381,
"h_value": 25.0,
"h_rank": 448,
"er_value": 9.0,
"er_rank": 545,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 30.0,
"k_rank": 409,
"k_per_9_value": 7.5700936,
"k_per_9_rank": 28,
"whip_value": 1.2056,
"whip_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0009,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0009,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0138,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.993,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9933,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 6,
"BB": 4,
"SO": 10,
"HR": 0,
"ERA": 0.9,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "663878",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.169,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5891,
"prior_weight": 0.4109
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663878",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 17.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.4,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 4.0,
"SO": 10.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 15.6
},
"rates": {
"ERA": 0.9,
"WHIP": 1.0,
"ER_per_IP": 0.1,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 35.2,
"ER": 9.0,
"R": 11.0,
"H": 25.0,
"BB": 18.0,
"SO": 30.0,
"HR": 1.0,
"BF": 148.0,
"Pitches": 582.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2812,
"R": 0.3438,
"H": 0.7812,
"BB": 0.5625,
"SO": 0.9375,
"HR": 0.0312,
"BF": 4.625,
"Pitches": 18.1875
},
"rates": {
"ERA": 2.271,
"WHIP": 1.2056,
"ER_per_IP": 0.25234,
"H_per_IP": 0.70093,
"BB_per_IP": 0.50467,
"SO_per_IP": 0.84112,
"HR_per_IP": 0.02804
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.255,
"predicted_H": 0.871,
"predicted_BB": 0.4,
"predicted_SO": 0.956,
"predicted_HR": 0.064,
"predicted_ERA": 2.2932,
"predicted_WHIP": 1.2714
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5236,
"form_weight": 0.4764,
"form_reliability": 0.5891,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.169,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5891,
"prior_weight": 0.4109
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.255,
"final": 0.1215,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.871,
"final": 0.4149,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.4,
"final": 0.7142,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.956,
"final": 0.979,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0305,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2932,
"final": 2.2932,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2714,
"final": 1.2714,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Steven Cruz |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0348 |
| ESPN Rank | 382 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.9746 |
| Avg Spin | 2189.0093 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.3548 |
| Season WHIP | 1.2581 |
| Role Avg IP | 1.0500 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"opponent": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"edges": {
"quality_edge": -0.1132,
"offense_edge": -0.0473,
"opponent_offense_edge": -0.0267,
"defense_strength": -0.0861,
"opponent_defense_weakness": -0.0585,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.994,
"run_prevention": 1.01,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "674444",
"profile": {
"available": true,
"pitcher_id": "674444",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 189.0,
"k_percent": 25.8,
"bb_percent": 8.8,
"woba": 0.333,
"xwoba": 0.315,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 36.0,
"avg_best_speed": 77.3516,
"avg_hyper_speed": 94.2021,
"whiff_percent": 27.7,
"swing_percent": 52.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.231,
"command_and_miss": 0.3907,
"regression_edge": 0.5143,
"xwoba_edge": -0.1143,
"barrel_edge": -0.7778,
"hard_hit_edge": 0.2571,
"whiff_edge": 0.3571,
"bb_edge": 0.075,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674444",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.97455568353733,
"release_spin_rate": 2189.0092581893387,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.97455568353733,
"release_spin_rate": 2189.0092581893387,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9746,
"release_spin_rate": 2189.0093,
"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.0348,
"sample_weight": 0.756,
"run_prevention_factor": 0.997,
"strikeout_factor": 1.0276,
"walk_factor": 0.9955,
"homer_factor": 1.0419,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "674444",
"espn_id": 5002931,
"player_name": "Steven Cruz",
"team": "KC",
"role": "pitcher",
"espn_rank": 382,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 382,
"gp_value": 49.0,
"gp_rank": 102,
"gs_value": 2.0,
"gs_rank": 270,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.3548,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 6.0,
"sv_rank": 37,
"hld_value": 5.0,
"hld_rank": 163,
"ip_value": 51.2,
"ip_rank": 281,
"h_value": 46.0,
"h_rank": 253,
"er_value": 25.0,
"er_rank": 225,
"hr_value": 12.0,
"hr_rank": 126,
"bb_value": 19.0,
"bb_rank": 300,
"k_value": 56.0,
"k_rank": 238,
"k_per_9_value": 9.754839,
"k_per_9_rank": 22,
"whip_value": 1.258,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9977,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9977,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0317,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0209,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 5,
"H": 12,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 4.21875,
"WHIP": 1.3125,
"K9": 7.59375,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "674444",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.97455568353733,
"release_spin_rate": 2189.0092581893387,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.97455568353733,
"release_spin_rate": 2189.0092581893387,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9746,
"release_spin_rate": 2189.0093,
"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.385,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.675,
"prior_weight": 0.325
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "674444",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 49,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.8,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 5.2,
"Pitches": 17.6
},
"rates": {
"ERA": 6.75,
"WHIP": 1.875,
"ER_per_IP": 0.75,
"H_per_IP": 1.6875,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 5.0,
"R": 5.0,
"H": 12.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.2,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.6,
"Pitches": 16.8
},
"rates": {
"ERA": 4.2188,
"WHIP": 1.3125,
"ER_per_IP": 0.46875,
"H_per_IP": 1.125,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 49,
"totals": {
"IP": 51.2,
"ER": 25.0,
"R": 26.0,
"H": 46.0,
"BB": 19.0,
"SO": 56.0,
"HR": 12.0,
"BF": 217.0,
"Pitches": 817.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5102,
"R": 0.5306,
"H": 0.9388,
"BB": 0.3878,
"SO": 1.1429,
"HR": 0.2449,
"BF": 4.4286,
"Pitches": 16.6735
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.2581,
"ER_per_IP": 0.48387,
"H_per_IP": 0.89032,
"BB_per_IP": 0.36774,
"SO_per_IP": 1.08387,
"HR_per_IP": 0.23226
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.566,
"predicted_H": 1.215,
"predicted_BB": 0.271,
"predicted_SO": 0.936,
"predicted_HR": 0.158,
"predicted_ERA": 5.0903,
"predicted_WHIP": 1.4861
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4873,
"form_weight": 0.5127,
"form_reliability": 0.675,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.385,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.675,
"prior_weight": 0.325
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.566,
"final": 0.7775,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.215,
"final": 1.5975,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.271,
"final": 0.6263,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.936,
"final": 0.4799,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.158,
"final": 0.5683,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0903,
"final": 5.0903,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4861,
"final": 1.4861,
"source": "form_only"
}
}
}{
"available": false,
"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 | Craig Kimbrel |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0109 |
| ESPN Rank | 295 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0752 |
| Avg Velo | 91.2107 |
| Avg Spin | 2331.6095 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.9512 |
| Season WHIP | 1.1951 |
| Role Avg IP | 1.0250 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 140,
"wins": 62,
"losses": 78,
"win_pct": 0.4429,
"runs_scored": 599.0,
"runs_allowed": 688.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6357,
"avg_runs_scored": 4.2786,
"avg_runs_allowed": 4.9143,
"offense_index": 0.9527,
"defense_index": 0.9139,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.5,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0914
},
"opponent": {
"team": "MIA",
"games": 140,
"wins": 71,
"losses": 69,
"win_pct": 0.5071,
"runs_scored": 612.0,
"runs_allowed": 594.0,
"run_differential": 18.0,
"run_differential_per_game": 0.1286,
"avg_runs_scored": 4.3714,
"avg_runs_allowed": 4.2429,
"offense_index": 0.9733,
"defense_index": 1.0585,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.4,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0218
},
"edges": {
"quality_edge": -0.1132,
"offense_edge": -0.0473,
"opponent_offense_edge": -0.0267,
"defense_strength": -0.0861,
"opponent_defense_weakness": -0.0585,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.994,
"run_prevention": 1.01,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518886",
"profile": {
"available": true,
"pitcher_id": "518886",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 143.0,
"k_percent": 21.6,
"bb_percent": 10.8,
"woba": 0.301,
"xwoba": 0.308,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.0,
"avg_best_speed": 80.3802,
"avg_hyper_speed": 93.8428,
"whiff_percent": 24.0,
"swing_percent": 48.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1354,
"command_and_miss": -0.1643,
"regression_edge": -0.2,
"xwoba_edge": 0.0857,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.2571,
"whiff_edge": -0.1714,
"bb_edge": -0.425,
"pitch_design_score": 0.0752
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "518886",
"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": 91.21070998165801,
"release_spin_rate": 2331.609520050267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.21070998165801,
"release_spin_rate": 2331.609520050267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2107,
"release_spin_rate": 2331.6095,
"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.0752,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.537,
"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.0109,
"sample_weight": 0.572,
"run_prevention_factor": 0.9991,
"strikeout_factor": 0.9951,
"walk_factor": 1.0194,
"homer_factor": 0.9825,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518886",
"espn_id": 30653,
"player_name": "Craig Kimbrel",
"team": "KC",
"role": "pitcher",
"espn_rank": 295,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 295,
"gp_value": 40.0,
"gp_rank": 158,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.9512,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 41.0,
"ip_rank": 352,
"h_value": 31.0,
"h_rank": 393,
"er_value": 18.0,
"er_rank": 342,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 36.0,
"k_rank": 364,
"k_per_9_value": 7.9024396,
"k_per_9_rank": 27,
"whip_value": 1.1951,
"whip_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9995,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0111,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.99,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9972,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 3,
"H": 5,
"BB": 6,
"SO": 7,
"HR": 0,
"ERA": 2.7000000000000006,
"WHIP": 1.1,
"K9": 6.300000000000001,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "518886",
"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": 91.21070998165801,
"release_spin_rate": 2331.609520050267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.21070998165801,
"release_spin_rate": 2331.609520050267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2107,
"release_spin_rate": 2331.6095,
"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.0752,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.537,
"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.241,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6224,
"prior_weight": 0.3776
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "518886",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 6.0,
"SO": 7.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.6,
"SO": 0.7,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.2
},
"rates": {
"ERA": 2.7,
"WHIP": 1.1,
"ER_per_IP": 0.3,
"H_per_IP": 0.5,
"BB_per_IP": 0.6,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 40,
"totals": {
"IP": 41.0,
"ER": 18.0,
"R": 20.0,
"H": 31.0,
"BB": 18.0,
"SO": 36.0,
"HR": 4.0,
"BF": 167.0,
"Pitches": 674.0
},
"per_game": {
"IP": 1.0,
"ER": 0.45,
"R": 0.5,
"H": 0.775,
"BB": 0.45,
"SO": 0.9,
"HR": 0.1,
"BF": 4.175,
"Pitches": 16.85
},
"rates": {
"ERA": 3.9512,
"WHIP": 1.1951,
"ER_per_IP": 0.43902,
"H_per_IP": 0.7561,
"BB_per_IP": 0.43902,
"SO_per_IP": 0.87805,
"HR_per_IP": 0.09756
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.269,
"predicted_H": 0.548,
"predicted_BB": 0.333,
"predicted_SO": 0.735,
"predicted_HR": 0.059,
"predicted_ERA": 2.771,
"predicted_WHIP": 1.0078
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5095,
"form_weight": 0.4905,
"form_reliability": 0.6224,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.241,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6224,
"prior_weight": 0.3776
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.269,
"final": 0.1319,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.548,
"final": 0.2688,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.333,
"final": 0.1633,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.735,
"final": 1.3796,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.771,
"final": 2.771,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0078,
"final": 1.0078,
"source": "form_only"
}
}
}{
"available": false,
"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.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.860 | 3.000 | 4.000 | Hitting_AB | 3.891 | 4.000 | -0.891 | -1.000 |
| predicted_AVG | 0.223 | 0.333 | 0.250 | Hitting_AVG | 0.225 | 0.250 | 0.108 | 0.083 |
| predicted_BB | 0.163 | 1.000 | 0.000 | Hitting_BB | 0.185 | 1.000 | 0.815 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.875 | 1.000 | 0.125 | 0.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.147 | 1.000 | 0.853 | 0.000 |
| predicted_OBP | 0.254 | 0.500 | 0.250 | Hitting_OBP | 0.275 | 0.400 | 0.225 | 0.100 |
| predicted_R | 0.364 | 1.000 | 0.000 | Hitting_R | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_RBI | 0.496 | 1.000 | 1.000 | Hitting_RBI | 0.493 | 2.000 | 0.507 | -1.000 |
| predicted_SLG | 0.378 | 1.333 | 0.250 | Hitting_SLG | 0.385 | 1.000 | 0.949 | 0.333 |
| predicted_SO | 0.822 | 0.000 | 1.000 | Hitting_SO | 0.817 | 1.000 | -0.817 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.1400 -> 1.0000 (boost 0.8600, better) |
| Biggest Deboost | predicted_AB: 3.8600 -> 3.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 | 3 | 0 | 3 | 0 | predicted_RBI: 0.4960 -> 0.5594 (boost 0.0634, 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.2622 -> 0.2565 (deboost -0.0057, 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.5490 -> 1.0000 (boost 0.4510, better) | predicted_2B: 0.1930 -> 0.0000 (deboost -0.1930, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.224 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3509 -> 0.0000 (deboost -0.3509, 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.2565 -> 0.2630 (boost 0.0065, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_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.2630 -> 0.2565 (deboost -0.0065, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.008,
"predicted_AB": 3.86,
"predicted_AVG": 0.223,
"predicted_BB": 0.163,
"predicted_H": 0.86,
"predicted_HR": 0.14,
"predicted_OBP": 0.254,
"predicted_R": 0.364,
"predicted_RBI": 0.496,
"predicted_SLG": 0.378,
"predicted_SO": 0.822
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.0067,
"predicted_AB": 3.9065,
"predicted_AVG": 0.2265,
"predicted_BB": 0.1713,
"predicted_H": 0.8848,
"predicted_HBP": 0.056,
"predicted_HR": 0.1491,
"predicted_OBP": 0.2622,
"predicted_R": 0.3575,
"predicted_RBI": 0.5594,
"predicted_SLG": 0.3936,
"predicted_SO": 0.8198
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.193,
"delta": 0.03,
"percent_delta": 0.184,
"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.86,
"after": 3.9065,
"delta": 0.0465,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2265,
"delta": 0.0035,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 0.1713,
"delta": 0.0083,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8848,
"delta": 0.0248,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.254,
"after": 0.2622,
"delta": 0.0082,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.3575,
"delta": -0.0065,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.496,
"after": 0.5594,
"delta": 0.0634,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3936,
"delta": 0.0156,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.8198,
"delta": -0.0022,
"percent_delta": -0.0027,
"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.496,
"after": 0.5594,
"delta": 0.0634,
"percent_delta": 0.1278,
"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": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.0067,
"predicted_AB": 3.9065,
"predicted_AVG": 0.224,
"predicted_BB": 0.1704,
"predicted_H": 0.8752,
"predicted_HBP": 0.056,
"predicted_HR": 0.1465,
"predicted_OBP": 0.2565,
"predicted_R": 0.3509,
"predicted_RBI": 0.549,
"predicted_SLG": 0.3894,
"predicted_SO": 0.8241
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.193,
"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.9065,
"after": 3.9065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2265,
"after": 0.224,
"delta": -0.0025,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1713,
"after": 0.1704,
"delta": -0.0009,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8848,
"after": 0.8752,
"delta": -0.0096,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1491,
"after": 0.1465,
"delta": -0.0026,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2622,
"after": 0.2565,
"delta": -0.0057,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3575,
"after": 0.3509,
"delta": -0.0066,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5594,
"after": 0.549,
"delta": -0.0104,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3936,
"after": 0.3894,
"delta": -0.0042,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8198,
"after": 0.8241,
"delta": 0.0043,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2622,
"after": 0.2565,
"delta": -0.0057,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.224 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"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.9065,
"after": 4.0,
"delta": 0.0935,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1704,
"after": 0.0,
"delta": -0.1704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8752,
"after": 1.0,
"delta": 0.1248,
"percent_delta": 0.1426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1465,
"after": 0.0,
"delta": -0.1465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.549,
"after": 1.0,
"delta": 0.451,
"percent_delta": 0.8215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8241,
"after": 1.0,
"delta": 0.1759,
"percent_delta": 0.2134,
"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.549,
"after": 1.0,
"delta": 0.451,
"percent_delta": 0.8215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3509,
"after": 0.0,
"delta": -0.3509,
"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.3509,
"after": 0.0,
"delta": -0.3509,
"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.224,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.263,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.389,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2565,
"after": 0.263,
"delta": 0.0065,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3894,
"after": 0.389,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2565,
"after": 0.263,
"delta": 0.0065,
"percent_delta": 0.0253,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.224,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2565,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3894,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.224,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.263,
"after": 0.2565,
"delta": -0.0065,
"percent_delta": -0.0249,
"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.389,
"after": 0.3894,
"delta": 0.0004,
"percent_delta": 0.001,
"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.263,
"after": 0.2565,
"delta": -0.0065,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "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.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.224,
"delta": 0.001,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2565,
"delta": 0.0025,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.496,
"after": 1.0,
"delta": 0.504,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3894,
"delta": 0.0114,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.0,
"delta": -0.822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"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.163 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.163 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.254 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.496 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.822 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | 0.030 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.906 | 0.046 |
| predicted_AVG | 0.227 | 0.004 |
| predicted_BB | 0.171 | 0.008 |
| predicted_H | 0.885 | 0.025 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.149 | 0.009 |
| predicted_OBP | 0.262 | 0.008 |
| predicted_R | 0.357 | -0.007 |
| predicted_RBI | 0.559 | 0.063 |
| predicted_SLG | 0.394 | 0.016 |
| predicted_SO | 0.820 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.906 | 0.000 |
| predicted_AVG | 0.224 | -0.003 |
| predicted_BB | 0.170 | -0.001 |
| predicted_H | 0.875 | -0.010 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.146 | -0.003 |
| predicted_OBP | 0.257 | -0.006 |
| predicted_R | 0.351 | -0.007 |
| predicted_RBI | 0.549 | -0.010 |
| predicted_SLG | 0.389 | -0.004 |
| predicted_SO | 0.824 | 0.004 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.224 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.193 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.094 |
| predicted_AVG | 0.224 | 0.000 |
| predicted_BB | 0.000 | -0.170 |
| predicted_H | 1.000 | 0.125 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.263 | 0.007 |
| predicted_R | 0.000 | -0.351 |
| predicted_RBI | 1.000 | 0.451 |
| predicted_SLG | 0.389 | -0.000 |
| predicted_SO | 1.000 | 0.176 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 2.000 | 0.000 | 1.000 | 5.000 | 1.000 | 1.000 | 3.000 | 0.2381 | 0.2727 | 0.4762 | 0.2381 | 0.0476 | 0.2381 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 41.000 | 10.000 | 3.000 | 0.000 | 2.000 | 8.000 | 4.000 | 2.000 | 10.000 | 0.2439 | 0.2791 | 0.4634 | 0.2439 | 0.0488 | 0.1951 | 0.0488 | 0.2439 |
| season | 0.60 | 129 | - | 498.000 | 111.000 | 21.000 | 1.000 | 18.000 | 64.000 | 47.000 | 21.000 | 106.000 | 0.2229 | 0.2677 | 0.3775 | 0.2229 | 0.0361 | 0.1285 | 0.0422 | 0.2129 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2320 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9670 |
| predicted_AVG | 0.2311 |
| predicted_BB | 0.1820 |
| predicted_H | 0.9170 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.2728 |
| predicted_R | 0.3490 |
| predicted_RBI | 0.6420 |
| predicted_SLG | 0.4140 |
| predicted_SO | 0.8170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.2320 | 0.1930 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.8600 | 3.9670 | 3.9065 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2311 | 0.2265 | model_form_blend |
| predicted_BB | 0.1630 | 0.1820 | 0.1713 | model_form_blend |
| predicted_H | 0.8600 | 0.9170 | 0.8848 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1400 | 0.1610 | 0.1491 | model_form_blend |
| predicted_OBP | 0.2540 | 0.2728 | 0.2622 | model_form_blend |
| predicted_R | 0.3640 | 0.3490 | 0.3575 | model_form_blend |
| predicted_RBI | 0.4960 | 0.6420 | 0.5594 | model_form_blend |
| predicted_SLG | 0.3780 | 0.4140 | 0.3936 | model_form_blend |
| predicted_SO | 0.8220 | 0.8170 | 0.8198 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.278 |
| sl_xwoba | 0.303 |
| sl_xba | 0.237 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 56.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.163 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.696 | 3.000 | 4.000 | Hitting_AB | 3.777 | 5.000 | -0.777 | -2.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_BB | 0.489 | 1.000 | 1.000 | Hitting_BB | 0.529 | 0.000 | 0.471 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.891 | 0.000 | 1.000 | Hitting_H | 0.904 | 0.000 | -0.904 | 0.000 |
| predicted_HR | 0.098 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.330 | 0.250 | 0.400 | Hitting_OBP | 0.333 | 0.000 | -0.083 | 0.250 |
| predicted_R | 0.446 | 0.000 | 0.000 | Hitting_R | 0.482 | 0.000 | -0.482 | 0.000 |
| predicted_RBI | 0.446 | 0.000 | 1.000 | Hitting_RBI | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.250 | Hitting_SLG | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_SO | 0.663 | 1.000 | 1.000 | Hitting_SO | 0.725 | 0.000 | 0.275 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.4890 -> 1.0000 (boost 0.5110, better) |
| Biggest Deboost | predicted_H: 0.8910 -> 0.0000 (deboost -0.8910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3760 -> 0.3810 (boost 0.0050, 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.3319 -> 0.3248 (deboost -0.0071, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.4975 -> 1.0000 (boost 0.5025, better) | predicted_RBI: 0.4546 -> 0.0000 (deboost -0.4546, worse) | AB rounded to 4 (raw=3.71), rates preserved: AVG=0.234 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4166 -> 0.0000 (deboost -0.4166, 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3248 -> 0.3300 (boost 0.0052, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3300 -> 0.3248 (deboost -0.0052, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"position": "DH",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.022,
"predicted_AB": 3.696,
"predicted_AVG": 0.241,
"predicted_BB": 0.489,
"predicted_H": 0.891,
"predicted_HR": 0.098,
"predicted_OBP": 0.33,
"predicted_R": 0.446,
"predicted_RBI": 0.446,
"predicted_SLG": 0.376,
"predicted_SO": 0.663
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1536,
"predicted_3B": 0.0181,
"predicted_AB": 3.708,
"predicted_AVG": 0.2368,
"predicted_BB": 0.5002,
"predicted_H": 0.8781,
"predicted_HBP": 0.076,
"predicted_HR": 0.1152,
"predicted_OBP": 0.3319,
"predicted_R": 0.4245,
"predicted_RBI": 0.4632,
"predicted_SLG": 0.381,
"predicted_SO": 0.6347
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1536,
"delta": -0.0094,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0181,
"delta": -0.0039,
"percent_delta": -0.1773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.696,
"after": 3.708,
"delta": 0.012,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2368,
"delta": -0.0042,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 0.5002,
"delta": 0.0112,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.891,
"after": 0.8781,
"delta": -0.0129,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.1152,
"delta": 0.0172,
"percent_delta": 0.1755,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3319,
"delta": 0.0019,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.446,
"after": 0.4245,
"delta": -0.0215,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.4632,
"delta": 0.0172,
"percent_delta": 0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.381,
"delta": 0.005,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 0.6347,
"delta": -0.0283,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_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.376,
"after": 0.381,
"delta": 0.005,
"percent_delta": 0.0133,
"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": 92
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1536,
"predicted_3B": 0.0181,
"predicted_AB": 3.708,
"predicted_AVG": 0.2342,
"predicted_BB": 0.4975,
"predicted_H": 0.8685,
"predicted_HBP": 0.076,
"predicted_HR": 0.1132,
"predicted_OBP": 0.3248,
"predicted_R": 0.4166,
"predicted_RBI": 0.4546,
"predicted_SLG": 0.377,
"predicted_SO": 0.6381
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1536,
"after": 0.1536,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.708,
"after": 3.708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2368,
"after": 0.2342,
"delta": -0.0026,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5002,
"after": 0.4975,
"delta": -0.0027,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8781,
"after": 0.8685,
"delta": -0.0096,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1152,
"after": 0.1132,
"delta": -0.002,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3319,
"after": 0.3248,
"delta": -0.0071,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4245,
"after": 0.4166,
"delta": -0.0079,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4632,
"after": 0.4546,
"delta": -0.0086,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.377,
"delta": -0.004,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6347,
"after": 0.6381,
"delta": 0.0034,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3319,
"after": 0.3248,
"delta": -0.0071,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.71), rates preserved: AVG=0.234 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1536,
"after": 0.0,
"delta": -0.1536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0,
"delta": -0.0181,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.708,
"after": 4.0,
"delta": 0.292,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4975,
"after": 1.0,
"delta": 0.5025,
"percent_delta": 1.0101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8685,
"after": 1.0,
"delta": 0.1315,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1132,
"after": 0.0,
"delta": -0.1132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4546,
"after": 0.0,
"delta": -0.4546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6381,
"after": 1.0,
"delta": 0.3619,
"percent_delta": 0.5672,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4975,
"after": 1.0,
"delta": 0.5025,
"percent_delta": 1.0101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4546,
"after": 0.0,
"delta": -0.4546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4166,
"after": 0.0,
"delta": -0.4166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4166,
"after": 0.0,
"delta": -0.4166,
"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": 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": 0.0,
"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": 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.234,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.33,
"predicted_R": 0.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.2342,
"after": 0.234,
"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.3248,
"after": 0.33,
"delta": 0.0052,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.377,
"after": 0.377,
"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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3248,
"after": 0.33,
"delta": 0.0052,
"percent_delta": 0.016,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2342,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3248,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2342,
"delta": 0.0002,
"percent_delta": 0.001,
"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.33,
"after": 0.3248,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.377,
"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_OBP",
"before": 0.33,
"after": 0.3248,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "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.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.696,
"after": 3.0,
"delta": -0.696,
"percent_delta": -0.1883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2342,
"delta": -0.0068,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.891,
"after": 0.0,
"delta": -0.891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3248,
"delta": -0.0052,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.377,
"delta": 0.001,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.663,
"after": 1.0,
"delta": 0.337,
"percent_delta": 0.5083,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.891,
"after": 0.0,
"delta": -0.891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.022 | - |
| predicted_AB | 3.696 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.489 | - |
| predicted_H | 0.891 | - |
| predicted_HR | 0.098 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.446 | - |
| predicted_RBI | 0.446 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.663 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.018 | -0.004 |
| predicted_AB | 3.708 | 0.012 |
| predicted_AVG | 0.237 | -0.004 |
| predicted_BB | 0.500 | 0.011 |
| predicted_H | 0.878 | -0.013 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.115 | 0.017 |
| predicted_OBP | 0.332 | 0.002 |
| predicted_R | 0.424 | -0.022 |
| predicted_RBI | 0.463 | 0.017 |
| predicted_SLG | 0.381 | 0.005 |
| predicted_SO | 0.635 | -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.154 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.708 | 0.000 |
| predicted_AVG | 0.234 | -0.003 |
| predicted_BB | 0.497 | -0.003 |
| predicted_H | 0.869 | -0.010 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.113 | -0.002 |
| predicted_OBP | 0.325 | -0.007 |
| predicted_R | 0.417 | -0.008 |
| predicted_RBI | 0.455 | -0.009 |
| predicted_SLG | 0.377 | -0.004 |
| predicted_SO | 0.638 | 0.003 |
AB rounded to 4 (raw=3.71), rates preserved: AVG=0.234 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 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.154 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 4.000 | 0.292 |
| predicted_AVG | 0.234 | -0.000 |
| predicted_BB | 1.000 | 0.502 |
| predicted_H | 1.000 | 0.131 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.330 | 0.005 |
| predicted_R | 0.000 | -0.417 |
| predicted_RBI | 0.000 | -0.455 |
| predicted_SLG | 0.377 | 0.000 |
| predicted_SO | 1.000 | 0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 3.000 | 1.000 | 3.000 | 3.000 | 0.2105 | 0.3478 | 0.3684 | 0.2105 | 0.0526 | 0.1579 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 6.000 | 3.000 | 0.2162 | 0.3409 | 0.4324 | 0.2162 | 0.0541 | 0.1351 | 0.1622 | 0.0811 |
| season | 0.60 | 92 | - | 340.000 | 82.000 | 15.000 | 2.000 | 9.000 | 41.000 | 41.000 | 45.000 | 61.000 | 0.2412 | 0.3316 | 0.3765 | 0.2412 | 0.0265 | 0.1206 | 0.1323 | 0.1794 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7240 |
| predicted_AVG | 0.2313 |
| predicted_BB | 0.5150 |
| predicted_H | 0.8610 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.1380 |
| predicted_OBP | 0.3345 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.4860 |
| predicted_SLG | 0.3876 |
| predicted_SO | 0.5970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.1410 | 0.1536 | model_form_blend |
| predicted_3B | 0.0220 | 0.0130 | 0.0181 | model_form_blend |
| predicted_AB | 3.6960 | 3.7240 | 3.7080 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2313 | 0.2368 | model_form_blend |
| predicted_BB | 0.4890 | 0.5150 | 0.5002 | model_form_blend |
| predicted_H | 0.8910 | 0.8610 | 0.8781 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.0980 | 0.1380 | 0.1152 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3345 | 0.3319 | model_form_blend |
| predicted_R | 0.4460 | 0.3960 | 0.4245 | model_form_blend |
| predicted_RBI | 0.4460 | 0.4860 | 0.4632 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3876 | 0.3810 | model_form_blend |
| predicted_SO | 0.6630 | 0.5970 | 0.6347 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 363 |
| Season rows before report date | 363 |
| Report year | 2026 |
| Profile rows used | 92 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 20260902_MIA@KC |
| game_type | full |
| mlbID | 686469 |
| playerID | 686469 |
| playerName | Vinnie Pasquantino |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.312 |
| sl_xwoba | 0.325 |
| sl_xba | 0.248 |
| sl_xslg | 0.406 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 15.9 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 1.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | 0.761 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.940 | 4.000 | 5.000 | Hitting_AB | 3.744 | 4.000 | 0.256 | 0.000 |
| predicted_AVG | 0.235 | 0.250 | 0.200 | Hitting_AVG | 0.232 | 0.500 | 0.018 | -0.250 |
| predicted_BB | 0.453 | 0.000 | 1.000 | Hitting_BB | 0.474 | 1.000 | -0.474 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.160 | 1.000 | 1.000 | Hitting_H | 0.868 | 2.000 | 0.132 | -1.000 |
| predicted_HR | 0.380 | 0.000 | 1.000 | Hitting_HR | 0.148 | 2.000 | -0.148 | -2.000 |
| predicted_OBP | 0.342 | 0.250 | 0.333 | Hitting_OBP | 0.318 | 0.600 | -0.068 | -0.350 |
| predicted_R | 0.492 | 1.000 | 1.000 | Hitting_R | 0.522 | 2.000 | 0.478 | -1.000 |
| predicted_RBI | 0.740 | 2.000 | 1.000 | Hitting_RBI | 0.548 | 2.000 | 1.452 | 0.000 |
| predicted_SLG | 0.508 | 0.500 | 0.800 | Hitting_SLG | 0.420 | 2.000 | 0.080 | -1.500 |
| predicted_SO | 1.148 | 0.000 | 1.000 | Hitting_SO | 1.188 | 1.000 | -1.188 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.7400 -> 2.0000 (boost 1.2600, better) |
| Biggest Deboost | predicted_SO: 1.1480 -> 0.0000 (deboost -1.1480, 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_SLG: 0.5080 -> 0.5188 (boost 0.0108, better) | predicted_AB: 4.9400 -> 4.3913 (deboost -0.5487, worse) | Final model input calibrated with local 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.3423 -> 0.3140 (deboost -0.0283, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 4.3913 -> 5.0000 (boost 0.6087, better) | predicted_BB: 0.4877 -> 0.0000 (deboost -0.4877, worse) | AB rounded to 5 (raw=4.94), rates preserved: AVG=0.211 HR/AB=0.067 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5007 -> 1.0000 (boost 0.4993, 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 | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4550 -> 0.5116 (boost 0.0566, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.008,
"predicted_AB": 4.94,
"predicted_AVG": 0.235,
"predicted_BB": 0.453,
"predicted_H": 1.16,
"predicted_HR": 0.38,
"predicted_OBP": 0.342,
"predicted_R": 0.492,
"predicted_RBI": 0.74,
"predicted_SLG": 0.508,
"predicted_SO": 1.148
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1939,
"predicted_3B": 0.0067,
"predicted_AB": 4.3913,
"predicted_AVG": 0.2416,
"predicted_BB": 0.4903,
"predicted_H": 1.0558,
"predicted_HBP": 0.011,
"predicted_HR": 0.3375,
"predicted_OBP": 0.3423,
"predicted_R": 0.5102,
"predicted_RBI": 0.6896,
"predicted_SLG": 0.5188,
"predicted_SO": 1.1432
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1939,
"delta": -0.0091,
"percent_delta": -0.0448,
"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.94,
"after": 4.3913,
"delta": -0.5487,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2416,
"delta": 0.0066,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.4903,
"delta": 0.0373,
"percent_delta": 0.0823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.0558,
"delta": -0.1042,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.38,
"after": 0.3375,
"delta": -0.0425,
"percent_delta": -0.1118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3423,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.5102,
"delta": 0.0182,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.6896,
"delta": -0.0504,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.5188,
"delta": 0.0108,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.148,
"after": 1.1432,
"delta": -0.0048,
"percent_delta": -0.0042,
"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.508,
"after": 0.5188,
"delta": 0.0108,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.94,
"after": 4.3913,
"delta": -0.5487,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1939,
"predicted_3B": 0.0067,
"predicted_AB": 4.3913,
"predicted_AVG": 0.2378,
"predicted_BB": 0.4877,
"predicted_H": 1.0443,
"predicted_HBP": 0.011,
"predicted_HR": 0.3317,
"predicted_OBP": 0.314,
"predicted_R": 0.5007,
"predicted_RBI": 0.6768,
"predicted_SLG": 0.5116,
"predicted_SO": 1.1493
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1939,
"after": 0.1939,
"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.3913,
"after": 4.3913,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.2378,
"delta": -0.0038,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4903,
"after": 0.4877,
"delta": -0.0026,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0558,
"after": 1.0443,
"delta": -0.0115,
"percent_delta": -0.0109,
"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.3375,
"after": 0.3317,
"delta": -0.0058,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3423,
"after": 0.314,
"delta": -0.0283,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5102,
"after": 0.5007,
"delta": -0.0095,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6896,
"after": 0.6768,
"delta": -0.0128,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5188,
"after": 0.5116,
"delta": -0.0072,
"percent_delta": -0.0139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1432,
"after": 1.1493,
"delta": 0.0061,
"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.3423,
"after": 0.314,
"delta": -0.0283,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.94), rates preserved: AVG=0.211 HR/AB=0.067",
"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.1939,
"after": 0.0,
"delta": -0.1939,
"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.3913,
"after": 5.0,
"delta": 0.6087,
"percent_delta": 0.1386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4877,
"after": 0.0,
"delta": -0.4877,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0443,
"after": 1.0,
"delta": -0.0443,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3317,
"after": 0.0,
"delta": -0.3317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6768,
"after": 1.0,
"delta": 0.3232,
"percent_delta": 0.4775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1493,
"after": 1.0,
"delta": -0.1493,
"percent_delta": -0.1299,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3913,
"after": 5.0,
"delta": 0.6087,
"percent_delta": 0.1386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4877,
"after": 0.0,
"delta": -0.4877,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5007,
"after": 1.0,
"delta": 0.4993,
"percent_delta": 0.9972,
"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.5007,
"after": 1.0,
"delta": 0.4993,
"percent_delta": 0.9972,
"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.211,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.455,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2378,
"after": 0.211,
"delta": -0.0268,
"percent_delta": -0.1127,
"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.314,
"after": 0.288,
"delta": -0.026,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5116,
"after": 0.455,
"delta": -0.0566,
"percent_delta": -0.1106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2378,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5116,
"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.211,
"after": 0.2378,
"delta": 0.0268,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.314,
"delta": 0.026,
"percent_delta": 0.0903,
"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.455,
"after": 0.5116,
"delta": 0.0566,
"percent_delta": 0.1244,
"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.455,
"after": 0.5116,
"delta": 0.0566,
"percent_delta": 0.1244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.94,
"after": 4.0,
"delta": -0.94,
"percent_delta": -0.1903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2378,
"delta": 0.0028,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.0,
"delta": -0.453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.0,
"delta": -0.16,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.314,
"delta": -0.028,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 2.0,
"delta": 1.26,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.5116,
"delta": 0.0036,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.148,
"after": 0.0,
"delta": -1.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.74,
"after": 2.0,
"delta": 1.26,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.148,
"after": 0.0,
"delta": -1.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.940 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.453 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.380 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.508 | - |
| predicted_SO | 1.148 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | -0.009 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.391 | -0.549 |
| predicted_AVG | 0.242 | 0.007 |
| predicted_BB | 0.490 | 0.037 |
| predicted_H | 1.056 | -0.104 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.338 | -0.042 |
| predicted_OBP | 0.342 | 0.000 |
| predicted_R | 0.510 | 0.018 |
| predicted_RBI | 0.690 | -0.050 |
| predicted_SLG | 0.519 | 0.011 |
| predicted_SO | 1.143 | -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.194 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.391 | 0.000 |
| predicted_AVG | 0.238 | -0.004 |
| predicted_BB | 0.488 | -0.003 |
| predicted_H | 1.044 | -0.012 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.332 | -0.006 |
| predicted_OBP | 0.314 | -0.028 |
| predicted_R | 0.501 | -0.009 |
| predicted_RBI | 0.677 | -0.013 |
| predicted_SLG | 0.512 | -0.007 |
| predicted_SO | 1.149 | 0.006 |
AB rounded to 5 (raw=4.94), rates preserved: AVG=0.211 HR/AB=0.067
| 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.194 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.609 |
| predicted_AVG | 0.211 | -0.027 |
| predicted_BB | 0.000 | -0.488 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.332 |
| predicted_OBP | 0.288 | -0.026 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 1.000 | 0.323 |
| predicted_SLG | 0.455 | -0.057 |
| predicted_SO | 1.000 | -0.149 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 3.000 | 5.000 | 3.000 | 3.000 | 6.000 | 0.2857 | 0.3750 | 0.7619 | 0.2857 | 0.1429 | 0.2381 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 1.000 | 0.000 | 4.000 | 7.000 | 6.000 | 8.000 | 11.000 | 0.2857 | 0.4091 | 0.6571 | 0.2857 | 0.1143 | 0.2000 | 0.2286 | 0.3143 |
| season | 0.60 | 128 | - | 454.000 | 103.000 | 26.000 | 1.000 | 21.000 | 64.000 | 63.000 | 58.000 | 147.000 | 0.2269 | 0.3135 | 0.4273 | 0.2269 | 0.0463 | 0.1410 | 0.1278 | 0.3238 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6760 |
| predicted_AVG | 0.2503 |
| predicted_BB | 0.5390 |
| predicted_H | 0.9200 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2820 |
| predicted_OBP | 0.3428 |
| predicted_R | 0.5340 |
| predicted_RBI | 0.6240 |
| predicted_SLG | 0.5329 |
| predicted_SO | 1.1370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1820 | 0.1939 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 4.9400 | 3.6760 | 4.3913 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2503 | 0.2416 | model_form_blend |
| predicted_BB | 0.4530 | 0.5390 | 0.4903 | model_form_blend |
| predicted_H | 1.1600 | 0.9200 | 1.0558 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.3800 | 0.2820 | 0.3375 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3428 | 0.3423 | model_form_blend |
| predicted_R | 0.4920 | 0.5340 | 0.5102 | model_form_blend |
| predicted_RBI | 0.7400 | 0.6240 | 0.6896 | model_form_blend |
| predicted_SLG | 0.5080 | 0.5329 | 0.5188 | model_form_blend |
| predicted_SO | 1.1480 | 1.1370 | 1.1432 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 485 |
| Season rows before report date | 485 |
| 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| 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 | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 8 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.323 |
| sl_xwoba | 0.301 |
| sl_xba | 0.207 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.213 | 0.000 | 0.000 | Hitting_2B | 0.214 | 1.000 | -0.214 | -1.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.470 | 4.000 | 3.000 | Hitting_AB | 3.436 | 4.000 | 0.564 | 0.000 |
| predicted_AVG | 0.296 | 0.250 | 0.333 | Hitting_AVG | 0.281 | 0.500 | -0.031 | -0.250 |
| predicted_BB | 0.176 | 0.000 | 0.000 | Hitting_BB | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 0.967 | 2.000 | 0.033 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.354 | 0.250 | 0.333 | Hitting_OBP | 0.314 | 0.500 | -0.064 | -0.250 |
| predicted_R | 0.426 | 1.000 | 1.000 | Hitting_R | 0.486 | 0.000 | 0.514 | 1.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.461 | 1.000 | -0.461 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.028 | 1.000 | -0.028 | -1.000 |
| predicted_SLG | 0.498 | 0.250 | 0.333 | Hitting_SLG | 0.449 | 0.750 | -0.199 | -0.500 |
| predicted_SO | 0.574 | 1.000 | 0.000 | Hitting_SO | 0.622 | 0.000 | 0.378 | 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_R: 0.4260 -> 1.0000 (boost 0.5740, better) |
| Biggest Deboost | predicted_RBI: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.2960 -> 0.3134 (boost 0.0174, better) | predicted_AB: 3.4700 -> 3.4020 (deboost -0.0680, worse) | Final model input calibrated with local 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.5090 -> 0.4854 (deboost -0.0236, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_SO: 0.5121 -> 0.0000 (deboost -0.5121, better) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.304 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4315 -> 0.0000 (deboost -0.4315, 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 | 0 | 3 | 0 | 3 | - | 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 | 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4760 -> 0.4854 (boost 0.0094, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686681",
"player_name": "Michael Massey",
"position": "2B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.213,
"predicted_3B": 0.009,
"predicted_AB": 3.47,
"predicted_AVG": 0.296,
"predicted_BB": 0.176,
"predicted_H": 1.03,
"predicted_HR": 0.12,
"predicted_OBP": 0.354,
"predicted_R": 0.426,
"predicted_RBI": 0.5,
"predicted_SLG": 0.498,
"predicted_SO": 0.574
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2489,
"predicted_3B": 0.0077,
"predicted_AB": 3.402,
"predicted_AVG": 0.3134,
"predicted_BB": 0.1901,
"predicted_H": 1.0664,
"predicted_HBP": 0.002,
"predicted_HR": 0.1127,
"predicted_OBP": 0.3623,
"predicted_R": 0.4397,
"predicted_RBI": 0.4949,
"predicted_SLG": 0.509,
"predicted_SO": 0.5094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.2489,
"delta": 0.0359,
"percent_delta": 0.1685,
"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.47,
"after": 3.402,
"delta": -0.068,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.3134,
"delta": 0.0174,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1901,
"delta": 0.0141,
"percent_delta": 0.0801,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0664,
"delta": 0.0364,
"percent_delta": 0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1127,
"delta": -0.0073,
"percent_delta": -0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3623,
"delta": 0.0083,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.4397,
"delta": 0.0137,
"percent_delta": 0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4949,
"delta": -0.0051,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.498,
"after": 0.509,
"delta": 0.011,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.5094,
"delta": -0.0646,
"percent_delta": -0.1125,
"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.296,
"after": 0.3134,
"delta": 0.0174,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.47,
"after": 3.402,
"delta": -0.068,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 108
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2489,
"predicted_3B": 0.0077,
"predicted_AB": 3.402,
"predicted_AVG": 0.31,
"predicted_BB": 0.1891,
"predicted_H": 1.0548,
"predicted_HBP": 0.002,
"predicted_HR": 0.1108,
"predicted_OBP": 0.3464,
"predicted_R": 0.4315,
"predicted_RBI": 0.4857,
"predicted_SLG": 0.4854,
"predicted_SO": 0.5121
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2489,
"after": 0.2489,
"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.402,
"after": 3.402,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3134,
"after": 0.31,
"delta": -0.0034,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1901,
"after": 0.1891,
"delta": -0.001,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0664,
"after": 1.0548,
"delta": -0.0116,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1127,
"after": 0.1108,
"delta": -0.0019,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3623,
"after": 0.3464,
"delta": -0.0159,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4397,
"after": 0.4315,
"delta": -0.0082,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4949,
"after": 0.4857,
"delta": -0.0092,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.509,
"after": 0.4854,
"delta": -0.0236,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5094,
"after": 0.5121,
"delta": 0.0027,
"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.509,
"after": 0.4854,
"delta": -0.0236,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.304 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2489,
"after": 0.0,
"delta": -0.2489,
"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.402,
"after": 3.0,
"delta": -0.402,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1891,
"after": 0.0,
"delta": -0.1891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0548,
"after": 1.0,
"delta": -0.0548,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1108,
"after": 0.0,
"delta": -0.1108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4857,
"after": 0.0,
"delta": -0.4857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5121,
"after": 0.0,
"delta": -0.5121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5121,
"after": 0.0,
"delta": -0.5121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4315,
"after": 0.0,
"delta": -0.4315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4315,
"after": 0.0,
"delta": -0.4315,
"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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.304,
"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.476,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.31,
"after": 0.304,
"delta": -0.006,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3464,
"after": 0.345,
"delta": -0.0014,
"percent_delta": -0.004,
"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.4854,
"after": 0.476,
"delta": -0.0094,
"percent_delta": -0.0194,
"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_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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.31,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3464,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4854,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.31,
"delta": 0.006,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3464,
"delta": 0.0014,
"percent_delta": 0.004,
"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.476,
"after": 0.4854,
"delta": 0.0094,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.476,
"after": 0.4854,
"delta": 0.0094,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.47,
"after": 4.0,
"delta": 0.53,
"percent_delta": 0.1527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.31,
"delta": 0.014,
"percent_delta": 0.0473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3464,
"delta": -0.0076,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"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.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.498,
"after": 0.4854,
"delta": -0.0126,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"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_R",
"before": 0.426,
"after": 1.0,
"delta": 0.574,
"percent_delta": 1.3474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.470 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.176 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.498 | - |
| predicted_SO | 0.574 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.249 | 0.036 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.402 | -0.068 |
| predicted_AVG | 0.313 | 0.017 |
| predicted_BB | 0.190 | 0.014 |
| predicted_H | 1.066 | 0.036 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.113 | -0.007 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.440 | 0.014 |
| predicted_RBI | 0.495 | -0.005 |
| predicted_SLG | 0.509 | 0.011 |
| predicted_SO | 0.509 | -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.249 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.402 | 0.000 |
| predicted_AVG | 0.310 | -0.003 |
| predicted_BB | 0.189 | -0.001 |
| predicted_H | 1.055 | -0.012 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.111 | -0.002 |
| predicted_OBP | 0.346 | -0.016 |
| predicted_R | 0.431 | -0.008 |
| predicted_RBI | 0.486 | -0.009 |
| predicted_SLG | 0.485 | -0.024 |
| predicted_SO | 0.512 | 0.003 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.304 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 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.249 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 3.000 | -0.402 |
| predicted_AVG | 0.304 | -0.006 |
| predicted_BB | 0.000 | -0.189 |
| predicted_H | 1.000 | -0.055 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.345 | -0.001 |
| predicted_R | 0.000 | -0.431 |
| predicted_RBI | 0.000 | -0.486 |
| predicted_SLG | 0.476 | -0.009 |
| predicted_SO | 0.000 | -0.512 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 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 | - | 17.000 | 7.000 | 3.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 0.000 | 0.4118 | 0.4444 | 0.5882 | 0.4118 | 0.0000 | 0.1765 | 0.0588 | 0.0000 |
| last_10 | 0.20 | 10 | - | 34.000 | 16.000 | 3.000 | 0.000 | 2.000 | 6.000 | 6.000 | 3.000 | 2.000 | 0.4706 | 0.5135 | 0.7353 | 0.4706 | 0.0588 | 0.1765 | 0.0882 | 0.0588 |
| season | 0.60 | 108 | - | 344.000 | 96.000 | 23.000 | 1.000 | 11.000 | 45.000 | 46.000 | 19.000 | 62.000 | 0.2791 | 0.3125 | 0.4477 | 0.2791 | 0.0320 | 0.1308 | 0.0552 | 0.1802 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2970 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.3110 |
| predicted_AVG | 0.3367 |
| predicted_BB | 0.2090 |
| predicted_H | 1.1150 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3735 |
| predicted_R | 0.4580 |
| predicted_RBI | 0.4880 |
| predicted_SLG | 0.5238 |
| predicted_SO | 0.4230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.2970 | 0.2489 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.4700 | 3.3110 | 3.4020 | model_form_blend |
| predicted_AVG | 0.2960 | 0.3367 | 0.3134 | model_form_blend |
| predicted_BB | 0.1760 | 0.2090 | 0.1901 | model_form_blend |
| predicted_H | 1.0300 | 1.1150 | 1.0664 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1200 | 0.1030 | 0.1127 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3735 | 0.3623 | model_form_blend |
| predicted_R | 0.4260 | 0.4580 | 0.4397 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4880 | 0.4949 | model_form_blend |
| predicted_SLG | 0.4980 | 0.5238 | 0.5090 | model_form_blend |
| predicted_SO | 0.5740 | 0.4230 | 0.5094 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 360 |
| Season rows before report date | 360 |
| Report year | 2026 |
| Profile rows used | 108 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 686681 |
| playerID | 686681 |
| playerName | Michael Massey |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.328 |
| sl_xwoba | 0.304 |
| sl_xba | 0.249 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 19.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.205 | 0.000 | 1.000 | Hitting_2B | 0.203 | 1.000 | -0.203 | -1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.770 | 4.000 | 5.000 | Hitting_AB | 3.805 | 5.000 | 0.195 | -1.000 |
| predicted_AVG | 0.244 | 0.000 | 0.200 | Hitting_AVG | 0.277 | 0.200 | -0.277 | -0.200 |
| predicted_BB | 0.228 | 0.000 | 0.000 | Hitting_BB | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 1.170 | 0.000 | 1.000 | Hitting_H | 1.056 | 1.000 | -1.056 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_OBP | 0.337 | 0.000 | 0.200 | Hitting_OBP | 0.331 | 0.200 | -0.331 | -0.200 |
| predicted_R | 0.512 | 0.000 | 1.000 | Hitting_R | 0.557 | 1.000 | -0.557 | -1.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.567 | 1.000 | -0.567 | -1.000 |
| predicted_SLG | 0.492 | 0.000 | 0.400 | Hitting_SLG | 0.499 | 0.400 | -0.499 | -0.400 |
| predicted_SO | 1.031 | 1.000 | 1.000 | Hitting_SO | 1.056 | 2.000 | -0.056 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2440 -> 0.2584 (boost 0.0144, better) |
| Biggest Deboost | predicted_H: 1.1700 -> 0.0000 (deboost -1.1700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2440 -> 0.2628 (boost 0.0188, better) | predicted_AB: 4.7700 -> 4.3592 (deboost -0.4108, worse) | Final model input calibrated with local 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.4819 -> 0.4301 (deboost -0.0518, 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.3592 -> 5.0000 (boost 0.6408, better) | predicted_2B: 0.2345 -> 0.0000 (deboost -0.2345, worse) | AB rounded to 5 (raw=4.77), rates preserved: AVG=0.236 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5238 -> 1.0000 (boost 0.4762, 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 | 4 | 0 | 4 | 0 | 4 | - | 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.3930 -> 0.4301 (boost 0.0371, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.016,
"predicted_AB": 4.77,
"predicted_AVG": 0.244,
"predicted_BB": 0.228,
"predicted_H": 1.17,
"predicted_HR": 0.19,
"predicted_OBP": 0.337,
"predicted_R": 0.512,
"predicted_RBI": 0.65,
"predicted_SLG": 0.492,
"predicted_SO": 1.031
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2345,
"predicted_3B": 0.0134,
"predicted_AB": 4.3592,
"predicted_AVG": 0.2628,
"predicted_BB": 0.2172,
"predicted_H": 1.1388,
"predicted_HBP": 0.043,
"predicted_HR": 0.1653,
"predicted_OBP": 0.3341,
"predicted_R": 0.5337,
"predicted_RBI": 0.5859,
"predicted_SLG": 0.4819,
"predicted_SO": 1.0618
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.2345,
"delta": 0.0295,
"percent_delta": 0.1439,
"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.77,
"after": 4.3592,
"delta": -0.4108,
"percent_delta": -0.0861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2628,
"delta": 0.0188,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.228,
"after": 0.2172,
"delta": -0.0108,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.1388,
"delta": -0.0312,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1653,
"delta": -0.0247,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3341,
"delta": -0.0029,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.5337,
"delta": 0.0217,
"percent_delta": 0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.5859,
"delta": -0.0641,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.492,
"after": 0.4819,
"delta": -0.0101,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.031,
"after": 1.0618,
"delta": 0.0308,
"percent_delta": 0.0299,
"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.244,
"after": 0.2628,
"delta": 0.0188,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.77,
"after": 4.3592,
"delta": -0.4108,
"percent_delta": -0.0861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2345,
"predicted_3B": 0.0134,
"predicted_AB": 4.3592,
"predicted_AVG": 0.2584,
"predicted_BB": 0.216,
"predicted_H": 1.1264,
"predicted_HBP": 0.043,
"predicted_HR": 0.1625,
"predicted_OBP": 0.2934,
"predicted_R": 0.5238,
"predicted_RBI": 0.575,
"predicted_SLG": 0.4301,
"predicted_SO": 1.0674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2345,
"after": 0.2345,
"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.3592,
"after": 4.3592,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2628,
"after": 0.2584,
"delta": -0.0044,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2172,
"after": 0.216,
"delta": -0.0012,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1388,
"after": 1.1264,
"delta": -0.0124,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1653,
"after": 0.1625,
"delta": -0.0028,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3341,
"after": 0.2934,
"delta": -0.0407,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5337,
"after": 0.5238,
"delta": -0.0099,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5859,
"after": 0.575,
"delta": -0.0109,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4819,
"after": 0.4301,
"delta": -0.0518,
"percent_delta": -0.1075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0618,
"after": 1.0674,
"delta": 0.0056,
"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.4819,
"after": 0.4301,
"delta": -0.0518,
"percent_delta": -0.1075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.77), rates preserved: AVG=0.236 HR/AB=0.034",
"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.2345,
"after": 0.0,
"delta": -0.2345,
"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.3592,
"after": 5.0,
"delta": 0.6408,
"percent_delta": 0.147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1264,
"after": 1.0,
"delta": -0.1264,
"percent_delta": -0.1122,
"direction": "deboost",
"projection_effect": "worse",
"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.1625,
"after": 0.0,
"delta": -0.1625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0674,
"after": 1.0,
"delta": -0.0674,
"percent_delta": -0.0631,
"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.3592,
"after": 5.0,
"delta": 0.6408,
"percent_delta": 0.147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2345,
"after": 0.0,
"delta": -0.2345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5238,
"after": 1.0,
"delta": 0.4762,
"percent_delta": 0.9091,
"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.5238,
"after": 1.0,
"delta": 0.4762,
"percent_delta": 0.9091,
"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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.236,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.393,
"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.2584,
"after": 0.236,
"delta": -0.0224,
"percent_delta": -0.0867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2934,
"after": 0.275,
"delta": -0.0184,
"percent_delta": -0.0627,
"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.4301,
"after": 0.393,
"delta": -0.0371,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2584,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2934,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4301,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2584,
"delta": 0.0224,
"percent_delta": 0.0949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2934,
"delta": 0.0184,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4301,
"delta": 0.0371,
"percent_delta": 0.0945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.393,
"after": 0.4301,
"delta": 0.0371,
"percent_delta": 0.0945,
"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.205,
"after": 0.0,
"delta": -0.205,
"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.77,
"after": 4.0,
"delta": -0.77,
"percent_delta": -0.1614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2584,
"delta": 0.0144,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 0.0,
"delta": -1.17,
"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.337,
"after": 0.2934,
"delta": -0.0436,
"percent_delta": -0.1294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.492,
"after": 0.4301,
"delta": -0.0619,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.031,
"after": 1.0,
"delta": -0.031,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2584,
"delta": 0.0144,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.17,
"after": 0.0,
"delta": -1.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.770 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.228 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.512 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.492 | - |
| predicted_SO | 1.031 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.234 | 0.029 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.359 | -0.411 |
| predicted_AVG | 0.263 | 0.019 |
| predicted_BB | 0.217 | -0.011 |
| predicted_H | 1.139 | -0.031 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.165 | -0.025 |
| predicted_OBP | 0.334 | -0.003 |
| predicted_R | 0.534 | 0.022 |
| predicted_RBI | 0.586 | -0.064 |
| predicted_SLG | 0.482 | -0.010 |
| predicted_SO | 1.062 | 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.234 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.359 | 0.000 |
| predicted_AVG | 0.258 | -0.004 |
| predicted_BB | 0.216 | -0.001 |
| predicted_H | 1.126 | -0.012 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.163 | -0.003 |
| predicted_OBP | 0.293 | -0.041 |
| predicted_R | 0.524 | -0.010 |
| predicted_RBI | 0.575 | -0.011 |
| predicted_SLG | 0.430 | -0.052 |
| predicted_SO | 1.067 | 0.006 |
AB rounded to 5 (raw=4.77), rates preserved: AVG=0.236 HR/AB=0.034
| 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 | 1.000 | 1.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.234 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 5.000 | 0.641 |
| predicted_AVG | 0.236 | -0.022 |
| predicted_BB | 0.000 | -0.216 |
| predicted_H | 1.000 | -0.126 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.275 | -0.018 |
| predicted_R | 1.000 | 0.476 |
| predicted_RBI | 1.000 | 0.425 |
| predicted_SLG | 0.393 | -0.037 |
| predicted_SO | 1.000 | -0.067 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 6.000 | 0.2857 | 0.3182 | 0.3810 | 0.2857 | 0.0000 | 0.0476 | 0.0476 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 4.000 | 0.000 | 1.000 | 7.000 | 7.000 | 1.000 | 13.000 | 0.3250 | 0.3571 | 0.5000 | 0.3250 | 0.0250 | 0.1750 | 0.0250 | 0.3250 |
| season | 0.60 | 127 | - | 462.000 | 129.000 | 26.000 | 2.000 | 23.000 | 67.000 | 65.000 | 29.000 | 131.000 | 0.2792 | 0.3280 | 0.4935 | 0.2792 | 0.0498 | 0.1450 | 0.0628 | 0.2836 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2730 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8220 |
| predicted_AVG | 0.2873 |
| predicted_BB | 0.2030 |
| predicted_H | 1.0980 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1330 |
| predicted_OBP | 0.3304 |
| predicted_R | 0.5620 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.4686 |
| predicted_SO | 1.1020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.2730 | 0.2345 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.7700 | 3.8220 | 4.3592 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2873 | 0.2628 | model_form_blend |
| predicted_BB | 0.2280 | 0.2030 | 0.2172 | model_form_blend |
| predicted_H | 1.1700 | 1.0980 | 1.1388 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1900 | 0.1330 | 0.1653 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3304 | 0.3341 | model_form_blend |
| predicted_R | 0.5120 | 0.5620 | 0.5337 | model_form_blend |
| predicted_RBI | 0.6500 | 0.5020 | 0.5859 | model_form_blend |
| predicted_SLG | 0.4920 | 0.4686 | 0.4819 | model_form_blend |
| predicted_SO | 1.0310 | 1.1020 | 1.0618 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 467 |
| Season rows before report date | 467 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.356 |
| sl_xwoba | 0.358 |
| sl_xba | 0.28 |
| sl_xslg | 0.507 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 54.6 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 54.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.233 | 0.000 | 1.000 | Hitting_2B | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.550 | 4.000 | 5.000 | Hitting_AB | 3.998 | 4.000 | 0.002 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.200 | Hitting_AVG | 0.285 | 0.250 | -0.285 | -0.250 |
| predicted_BB | 0.450 | 0.000 | 1.000 | Hitting_BB | 0.486 | 1.000 | -0.486 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 1.170 | 0.000 | 1.000 | Hitting_H | 1.139 | 1.000 | -1.139 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.327 | 0.000 | 0.333 | Hitting_OBP | 0.363 | 0.400 | -0.363 | -0.400 |
| predicted_R | 0.650 | 0.000 | 1.000 | Hitting_R | 0.645 | 1.000 | -0.645 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_SLG | 0.398 | 0.000 | 0.400 | Hitting_SLG | 0.450 | 0.250 | -0.450 | -0.250 |
| predicted_SO | 0.767 | 0.000 | 1.000 | Hitting_SO | 0.814 | 0.000 | -0.814 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.1700 -> 0.0000 (deboost -1.1700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.5500 -> 4.3046 (deboost -0.2454, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3878 -> 0.3803 (deboost -0.0075, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 4.3046 -> 5.0000 (boost 0.6954, better) | predicted_BB: 0.4282 -> 0.0000 (deboost -0.4282, worse) | AB rounded to 5 (raw=4.55), rates preserved: AVG=0.239 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6350 -> 1.0000 (boost 0.3650, better) | - | 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 | 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 |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | 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.3600 -> 0.3803 (boost 0.0203, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.233,
"predicted_3B": 0.008,
"predicted_AB": 4.55,
"predicted_AVG": 0.257,
"predicted_BB": 0.45,
"predicted_H": 1.17,
"predicted_HR": 0.12,
"predicted_OBP": 0.327,
"predicted_R": 0.65,
"predicted_RBI": 0.38,
"predicted_SLG": 0.398,
"predicted_SO": 0.767
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2265,
"predicted_3B": 0.0071,
"predicted_AB": 4.3046,
"predicted_AVG": 0.2555,
"predicted_BB": 0.4305,
"predicted_H": 1.1005,
"predicted_HBP": 0.011,
"predicted_HR": 0.1044,
"predicted_OBP": 0.3232,
"predicted_R": 0.647,
"predicted_RBI": 0.3609,
"predicted_SLG": 0.3878,
"predicted_SO": 0.7349
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2265,
"delta": -0.0065,
"percent_delta": -0.0279,
"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.55,
"after": 4.3046,
"delta": -0.2454,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2555,
"delta": -0.0015,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.45,
"after": 0.4305,
"delta": -0.0195,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.1005,
"delta": -0.0695,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1044,
"delta": -0.0156,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3232,
"delta": -0.0038,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.65,
"after": 0.647,
"delta": -0.003,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3609,
"delta": -0.0191,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3878,
"delta": -0.0102,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7349,
"delta": -0.0321,
"percent_delta": -0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.55,
"after": 4.3046,
"delta": -0.2454,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2265,
"predicted_3B": 0.0071,
"predicted_AB": 4.3046,
"predicted_AVG": 0.2529,
"predicted_BB": 0.4282,
"predicted_H": 1.0885,
"predicted_HBP": 0.011,
"predicted_HR": 0.1026,
"predicted_OBP": 0.3205,
"predicted_R": 0.635,
"predicted_RBI": 0.3542,
"predicted_SLG": 0.3803,
"predicted_SO": 0.7388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2265,
"after": 0.2265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3046,
"after": 4.3046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2555,
"after": 0.2529,
"delta": -0.0026,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4305,
"after": 0.4282,
"delta": -0.0023,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1005,
"after": 1.0885,
"delta": -0.012,
"percent_delta": -0.0109,
"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.1044,
"after": 0.1026,
"delta": -0.0018,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3232,
"after": 0.3205,
"delta": -0.0027,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 0.635,
"delta": -0.012,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3609,
"after": 0.3542,
"delta": -0.0067,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3878,
"after": 0.3803,
"delta": -0.0075,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7349,
"after": 0.7388,
"delta": 0.0039,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3878,
"after": 0.3803,
"delta": -0.0075,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.55), rates preserved: AVG=0.239 HR/AB=0.023",
"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.2265,
"after": 0.0,
"delta": -0.2265,
"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.3046,
"after": 5.0,
"delta": 0.6954,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4282,
"after": 0.0,
"delta": -0.4282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0885,
"after": 1.0,
"delta": -0.0885,
"percent_delta": -0.0813,
"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.1026,
"after": 0.0,
"delta": -0.1026,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3542,
"after": 0.0,
"delta": -0.3542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7388,
"after": 1.0,
"delta": 0.2612,
"percent_delta": 0.3535,
"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.3046,
"after": 5.0,
"delta": 0.6954,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 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.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"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.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 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": 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": 5.0,
"predicted_AVG": 0.239,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.36,
"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.2529,
"after": 0.239,
"delta": -0.0139,
"percent_delta": -0.055,
"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.3205,
"after": 0.31,
"delta": -0.0105,
"percent_delta": -0.0328,
"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.3803,
"after": 0.36,
"delta": -0.0203,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 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.2529,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3205,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3803,
"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.239,
"after": 0.2529,
"delta": 0.0139,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3205,
"delta": 0.0105,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3803,
"delta": 0.0203,
"percent_delta": 0.0564,
"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.36,
"after": 0.3803,
"delta": 0.0203,
"percent_delta": 0.0564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.0,
"delta": -0.55,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2529,
"delta": -0.0041,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 0.0,
"delta": -1.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3205,
"delta": -0.0065,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3803,
"delta": -0.0177,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.0,
"delta": -0.767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.17,
"after": 0.0,
"delta": -1.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.550 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.450 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.650 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.767 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.227 | -0.007 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.305 | -0.245 |
| predicted_AVG | 0.256 | -0.002 |
| predicted_BB | 0.430 | -0.020 |
| predicted_H | 1.101 | -0.069 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.104 | -0.016 |
| predicted_OBP | 0.323 | -0.004 |
| predicted_R | 0.647 | -0.003 |
| predicted_RBI | 0.361 | -0.019 |
| predicted_SLG | 0.388 | -0.010 |
| predicted_SO | 0.735 | -0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.227 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.305 | 0.000 |
| predicted_AVG | 0.253 | -0.003 |
| predicted_BB | 0.428 | -0.002 |
| predicted_H | 1.089 | -0.012 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.103 | -0.002 |
| predicted_OBP | 0.321 | -0.003 |
| predicted_R | 0.635 | -0.012 |
| predicted_RBI | 0.354 | -0.007 |
| predicted_SLG | 0.380 | -0.007 |
| predicted_SO | 0.739 | 0.004 |
AB rounded to 5 (raw=4.55), rates preserved: AVG=0.239 HR/AB=0.023
| 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 | 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 | 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.227 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.695 |
| predicted_AVG | 0.239 | -0.014 |
| predicted_BB | 0.000 | -0.428 |
| predicted_H | 1.000 | -0.089 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.310 | -0.011 |
| predicted_R | 1.000 | 0.365 |
| predicted_RBI | 0.000 | -0.354 |
| predicted_SLG | 0.360 | -0.020 |
| predicted_SO | 1.000 | 0.261 |
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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.1905 | 0.2174 | 0.2381 | 0.1905 | 0.0000 | 0.0476 | 0.0476 | 0.0952 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 2.000 | 0.000 | 0.000 | 2.000 | 7.000 | 5.000 | 7.000 | 0.2250 | 0.3043 | 0.2750 | 0.2250 | 0.0000 | 0.0500 | 0.1250 | 0.1750 |
| season | 0.60 | 120 | - | 471.000 | 134.000 | 28.000 | 1.000 | 16.000 | 49.000 | 78.000 | 54.000 | 92.000 | 0.2845 | 0.3578 | 0.4501 | 0.2845 | 0.0340 | 0.1040 | 0.1147 | 0.1953 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2180 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.9850 |
| predicted_AVG | 0.2535 |
| predicted_BB | 0.4050 |
| predicted_H | 1.0100 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.3183 |
| predicted_R | 0.6430 |
| predicted_RBI | 0.3360 |
| predicted_SLG | 0.3745 |
| predicted_SO | 0.6930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.2180 | 0.2265 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 4.5500 | 3.9850 | 4.3046 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2535 | 0.2555 | model_form_blend |
| predicted_BB | 0.4500 | 0.4050 | 0.4305 | model_form_blend |
| predicted_H | 1.1700 | 1.0100 | 1.1005 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1200 | 0.0840 | 0.1044 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3183 | 0.3232 | model_form_blend |
| predicted_R | 0.6500 | 0.6430 | 0.6470 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3360 | 0.3609 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3745 | 0.3878 | model_form_blend |
| predicted_SO | 0.7670 | 0.6930 | 0.7349 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 677951 |
| playerID | 677951 |
| playerName | Bobby Witt Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.35 |
| sl_xwoba | 0.383 |
| sl_xba | 0.305 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 51.0 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 47.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.125 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.781 | 3.000 | 3.000 | Hitting_AB | 3.198 | 4.000 | -0.198 | -1.000 |
| predicted_AVG | 0.301 | 0.000 | 0.333 | Hitting_AVG | 0.218 | 0.500 | -0.218 | -0.500 |
| predicted_BB | 0.094 | 0.000 | 0.000 | Hitting_BB | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 0.000 | 1.000 | Hitting_H | 0.698 | 2.000 | -0.698 | -2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.333 | Hitting_OBP | 0.238 | 0.500 | 0.012 | -0.250 |
| predicted_R | 0.281 | 0.000 | 0.000 | Hitting_R | 0.233 | 1.000 | -0.233 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_SLG | 0.395 | 0.000 | 0.333 | Hitting_SLG | 0.276 | 0.500 | -0.276 | -0.500 |
| predicted_SO | 0.469 | 0.000 | 0.000 | Hitting_SO | 0.488 | 0.000 | -0.488 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.7810 -> 3.0000 (boost 0.2190, better) |
| Biggest Deboost | predicted_H: 0.8300 -> 0.0000 (deboost -0.8300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_AB: 2.7810 -> 2.9409 (boost 0.1599, better) | predicted_AVG: 0.3010 -> 0.2901 (deboost -0.0109, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4030 -> 0.4130 (boost 0.0100, better) | predicted_AVG: 0.2901 -> 0.2845 (deboost -0.0056, 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.5293 -> 1.0000 (boost 0.4707, worse) | predicted_RBI: 0.4401 -> 0.0000 (deboost -0.4401, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.028 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3281 -> 0.0000 (deboost -0.3281, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_AVG: 0.2845 -> 0.2640 (deboost -0.0205, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2640 -> 0.2845 (boost 0.0205, better) | predicted_SLG: 0.4200 -> 0.4130 (deboost -0.0070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668942",
"player_name": "Josh Rojas",
"position": "3B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.781,
"predicted_AVG": 0.301,
"predicted_BB": 0.094,
"predicted_H": 0.83,
"predicted_HR": 0.07,
"predicted_OBP": 0.301,
"predicted_R": 0.281,
"predicted_RBI": 0.4,
"predicted_SLG": 0.395,
"predicted_SO": 0.469
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1326,
"predicted_3B": 0.0011,
"predicted_AB": 2.9409,
"predicted_AVG": 0.2901,
"predicted_BB": 0.1197,
"predicted_H": 0.8459,
"predicted_HBP": 0.007,
"predicted_HR": 0.0825,
"predicted_OBP": 0.3041,
"predicted_R": 0.3343,
"predicted_RBI": 0.4484,
"predicted_SLG": 0.403,
"predicted_SO": 0.5265
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1326,
"delta": 0.0076,
"percent_delta": 0.0608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.781,
"after": 2.9409,
"delta": 0.1599,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2901,
"delta": -0.0109,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.094,
"after": 0.1197,
"delta": 0.0257,
"percent_delta": 0.2734,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8459,
"delta": 0.0159,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0825,
"delta": 0.0125,
"percent_delta": 0.1786,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3041,
"delta": 0.0031,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.3343,
"delta": 0.0533,
"percent_delta": 0.1897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4484,
"delta": 0.0484,
"percent_delta": 0.121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.403,
"delta": 0.008,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.469,
"after": 0.5265,
"delta": 0.0575,
"percent_delta": 0.1226,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.781,
"after": 2.9409,
"delta": 0.1599,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2901,
"delta": -0.0109,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1326,
"predicted_3B": 0.0011,
"predicted_AB": 2.9409,
"predicted_AVG": 0.2845,
"predicted_BB": 0.1191,
"predicted_H": 0.8367,
"predicted_HBP": 0.007,
"predicted_HR": 0.0811,
"predicted_OBP": 0.3123,
"predicted_R": 0.3281,
"predicted_RBI": 0.4401,
"predicted_SLG": 0.413,
"predicted_SO": 0.5293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1326,
"after": 0.1326,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9409,
"after": 2.9409,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2901,
"after": 0.2845,
"delta": -0.0056,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1197,
"after": 0.1191,
"delta": -0.0006,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8459,
"after": 0.8367,
"delta": -0.0092,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0825,
"after": 0.0811,
"delta": -0.0014,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3041,
"after": 0.3123,
"delta": 0.0082,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3343,
"after": 0.3281,
"delta": -0.0062,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4484,
"after": 0.4401,
"delta": -0.0083,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.413,
"delta": 0.01,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5265,
"after": 0.5293,
"delta": 0.0028,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_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.403,
"after": 0.413,
"delta": 0.01,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2901,
"after": 0.2845,
"delta": -0.0056,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1326,
"after": 0.0,
"delta": -0.1326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9409,
"after": 3.0,
"delta": 0.0591,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1191,
"after": 0.0,
"delta": -0.1191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8367,
"after": 1.0,
"delta": 0.1633,
"percent_delta": 0.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0811,
"after": 0.0,
"delta": -0.0811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4401,
"after": 0.0,
"delta": -0.4401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5293,
"after": 1.0,
"delta": 0.4707,
"percent_delta": 0.8893,
"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.5293,
"after": 1.0,
"delta": 0.4707,
"percent_delta": 0.8893,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4401,
"after": 0.0,
"delta": -0.4401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3281,
"after": 0.0,
"delta": -0.3281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3281,
"after": 0.0,
"delta": -0.3281,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.264,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.42,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2845,
"after": 0.264,
"delta": -0.0205,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3123,
"after": 0.314,
"delta": 0.0017,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.42,
"delta": 0.007,
"percent_delta": 0.0169,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"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_AVG",
"before": 0.2845,
"after": 0.264,
"delta": -0.0205,
"percent_delta": -0.0721,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2845,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3123,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.413,
"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.264,
"after": 0.2845,
"delta": 0.0205,
"percent_delta": 0.0776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"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.314,
"after": 0.3123,
"delta": -0.0017,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.413,
"delta": -0.007,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2845,
"delta": 0.0205,
"percent_delta": 0.0776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.413,
"delta": -0.007,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "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.781,
"after": 3.0,
"delta": 0.219,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.2845,
"delta": -0.0165,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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.301,
"after": 0.3123,
"delta": 0.0113,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.413,
"delta": 0.018,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.781,
"after": 3.0,
"delta": 0.219,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.781 | - |
| predicted_AVG | 0.301 | - |
| predicted_BB | 0.094 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.281 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.469 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.941 | 0.160 |
| predicted_AVG | 0.290 | -0.011 |
| predicted_BB | 0.120 | 0.026 |
| predicted_H | 0.846 | 0.016 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.083 | 0.012 |
| predicted_OBP | 0.304 | 0.003 |
| predicted_R | 0.334 | 0.053 |
| predicted_RBI | 0.448 | 0.048 |
| predicted_SLG | 0.403 | 0.008 |
| predicted_SO | 0.526 | 0.057 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.941 | 0.000 |
| predicted_AVG | 0.284 | -0.006 |
| predicted_BB | 0.119 | -0.001 |
| predicted_H | 0.837 | -0.009 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.081 | -0.001 |
| predicted_OBP | 0.312 | 0.008 |
| predicted_R | 0.328 | -0.006 |
| predicted_RBI | 0.440 | -0.008 |
| predicted_SLG | 0.413 | 0.010 |
| predicted_SO | 0.529 | 0.003 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.284 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.133 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.059 |
| predicted_AVG | 0.264 | -0.020 |
| predicted_BB | 0.000 | -0.119 |
| predicted_H | 1.000 | 0.163 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.314 | 0.002 |
| predicted_R | 0.000 | -0.328 |
| predicted_RBI | 0.000 | -0.440 |
| predicted_SLG | 0.420 | 0.007 |
| predicted_SO | 1.000 | 0.471 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.3529 | 0.3889 | 0.5882 | 0.3529 | 0.0588 | 0.2353 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 1.000 | 0.000 | 1.000 | 7.000 | 4.000 | 2.000 | 6.000 | 0.2727 | 0.3143 | 0.3939 | 0.2727 | 0.0303 | 0.2121 | 0.0606 | 0.1818 |
| season | 0.60 | 32 | - | 89.000 | 23.000 | 4.000 | 0.000 | 2.000 | 13.000 | 9.000 | 3.000 | 15.000 | 0.2584 | 0.2826 | 0.3708 | 0.2584 | 0.0225 | 0.1461 | 0.0337 | 0.1685 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.2040 |
| predicted_AVG | 0.2723 |
| predicted_BB | 0.1620 |
| predicted_H | 0.8720 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3091 |
| predicted_R | 0.4220 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.4161 |
| predicted_SO | 0.6210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1450 | 0.1326 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.7810 | 3.2040 | 2.9409 | model_form_blend |
| predicted_AVG | 0.3010 | 0.2723 | 0.2901 | model_form_blend |
| predicted_BB | 0.0940 | 0.1620 | 0.1197 | model_form_blend |
| predicted_H | 0.8300 | 0.8720 | 0.8459 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0700 | 0.1030 | 0.0825 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3091 | 0.3041 | model_form_blend |
| predicted_R | 0.2810 | 0.4220 | 0.3343 | model_form_blend |
| predicted_RBI | 0.4000 | 0.5280 | 0.4484 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4161 | 0.4030 | model_form_blend |
| predicted_SO | 0.4690 | 0.6210 | 0.5265 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 86 |
| Season rows before report date | 86 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260901_MIA@KC |
| game_type | full |
| mlbID | 668942 |
| playerID | 668942 |
| playerName | Josh Rojas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-01 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.291 |
| sl_xwoba | 0.225 |
| sl_xba | 0.196 |
| sl_xslg | 0.276 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 0.000 | 0.000 | Hitting_2B | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.300 | 4.000 | 3.000 | Hitting_AB | 3.300 | 3.000 | 0.700 | 1.000 |
| predicted_AVG | 0.211 | 0.500 | 0.333 | Hitting_AVG | 0.230 | 0.000 | 0.270 | 0.500 |
| predicted_BB | 0.434 | 0.000 | 0.000 | Hitting_BB | 0.479 | 1.000 | -0.479 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.700 | 2.000 | 1.000 | Hitting_H | 0.760 | 0.000 | 1.240 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.325 | 0.500 | 0.333 | Hitting_OBP | 0.336 | 0.250 | 0.164 | 0.250 |
| predicted_R | 0.344 | 1.000 | 0.000 | Hitting_R | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_RBI | 0.360 | 1.000 | 0.000 | Hitting_RBI | 0.353 | 0.000 | 0.647 | 1.000 |
| predicted_SLG | 0.348 | 0.500 | 0.333 | Hitting_SLG | 0.351 | 0.000 | 0.149 | 0.500 |
| predicted_SO | 0.828 | 1.000 | 1.000 | Hitting_SO | 0.870 | 1.000 | 0.130 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7000 -> 2.0000 (boost 1.3000, better) |
| Biggest Deboost | predicted_BB: 0.4340 -> 0.0000 (deboost -0.4340, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AVG: 0.2110 -> 0.2255 (boost 0.0145, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3306 -> 0.3140 (deboost -0.0166, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7300 -> 1.0000 (boost 0.2700, better) | predicted_BB: 0.4308 -> 0.0000 (deboost -0.4308, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.221 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3186 -> 0.0000 (deboost -0.3186, 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 | 4 | 4 | 0 | 4 | 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": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.025,
"predicted_AB": 3.3,
"predicted_AVG": 0.211,
"predicted_BB": 0.434,
"predicted_H": 0.7,
"predicted_HR": 0.05,
"predicted_OBP": 0.325,
"predicted_R": 0.344,
"predicted_RBI": 0.36,
"predicted_SLG": 0.348,
"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.2313,
"predicted_3B": 0.0207,
"predicted_AB": 3.2663,
"predicted_AVG": 0.2255,
"predicted_BB": 0.4331,
"predicted_H": 0.738,
"predicted_HBP": 0.03,
"predicted_HR": 0.0435,
"predicted_OBP": 0.3306,
"predicted_R": 0.3246,
"predicted_RBI": 0.3617,
"predicted_SLG": 0.3599,
"predicted_SO": 0.8327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.2313,
"delta": 0.0423,
"percent_delta": 0.2238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3,
"after": 3.2663,
"delta": -0.0337,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2255,
"delta": 0.0145,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 0.4331,
"delta": -0.0009,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.738,
"delta": 0.038,
"percent_delta": 0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0435,
"delta": -0.0065,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3306,
"delta": 0.0056,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 0.3246,
"delta": -0.0194,
"percent_delta": -0.0564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3617,
"delta": 0.0017,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3599,
"delta": 0.0119,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 0.8327,
"delta": 0.0047,
"percent_delta": 0.0057,
"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.211,
"after": 0.2255,
"delta": 0.0145,
"percent_delta": 0.0687,
"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": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2313,
"predicted_3B": 0.0207,
"predicted_AB": 3.2663,
"predicted_AVG": 0.2235,
"predicted_BB": 0.4308,
"predicted_H": 0.73,
"predicted_HBP": 0.03,
"predicted_HR": 0.0428,
"predicted_OBP": 0.314,
"predicted_R": 0.3186,
"predicted_RBI": 0.355,
"predicted_SLG": 0.3462,
"predicted_SO": 0.8371
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2313,
"after": 0.2313,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2663,
"after": 3.2663,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2255,
"after": 0.2235,
"delta": -0.002,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4331,
"after": 0.4308,
"delta": -0.0023,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.738,
"after": 0.73,
"delta": -0.008,
"percent_delta": -0.0108,
"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.0435,
"after": 0.0428,
"delta": -0.0007,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.314,
"delta": -0.0166,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3246,
"after": 0.3186,
"delta": -0.006,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3617,
"after": 0.355,
"delta": -0.0067,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3599,
"after": 0.3462,
"delta": -0.0137,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8327,
"after": 0.8371,
"delta": 0.0044,
"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.3306,
"after": 0.314,
"delta": -0.0166,
"percent_delta": -0.0502,
"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.221 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2313,
"after": 0.0,
"delta": -0.2313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2663,
"after": 3.0,
"delta": -0.2663,
"percent_delta": -0.0815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4308,
"after": 0.0,
"delta": -0.4308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.0428,
"after": 0.0,
"delta": -0.0428,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.355,
"after": 0.0,
"delta": -0.355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8371,
"after": 1.0,
"delta": 0.1629,
"percent_delta": 0.1946,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4308,
"after": 0.0,
"delta": -0.4308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3186,
"after": 0.0,
"delta": -0.3186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3186,
"after": 0.0,
"delta": -0.3186,
"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.221,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.316,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2235,
"after": 0.221,
"delta": -0.0025,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.316,
"delta": 0.002,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3462,
"after": 0.343,
"delta": -0.0032,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2235,
"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.314,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3462,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2235,
"delta": 0.0025,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.316,
"after": 0.314,
"delta": -0.002,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3462,
"delta": 0.0032,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3,
"after": 4.0,
"delta": 0.7,
"percent_delta": 0.2121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2235,
"delta": 0.0125,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.314,
"delta": -0.011,
"percent_delta": -0.0338,
"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.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3462,
"delta": -0.0018,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 1.0,
"delta": 0.172,
"percent_delta": 0.2077,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"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.189 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.300 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.434 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.344 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.348 | - |
| 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.231 | 0.042 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.266 | -0.034 |
| predicted_AVG | 0.226 | 0.015 |
| predicted_BB | 0.433 | -0.001 |
| predicted_H | 0.738 | 0.038 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.043 | -0.007 |
| predicted_OBP | 0.331 | 0.006 |
| predicted_R | 0.325 | -0.019 |
| predicted_RBI | 0.362 | 0.002 |
| predicted_SLG | 0.360 | 0.012 |
| predicted_SO | 0.833 | 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.231 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.266 | 0.000 |
| predicted_AVG | 0.224 | -0.002 |
| predicted_BB | 0.431 | -0.002 |
| predicted_H | 0.730 | -0.008 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.043 | -0.001 |
| predicted_OBP | 0.314 | -0.017 |
| predicted_R | 0.319 | -0.006 |
| predicted_RBI | 0.355 | -0.007 |
| predicted_SLG | 0.346 | -0.014 |
| predicted_SO | 0.837 | 0.004 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.221 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.231 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | -0.266 |
| predicted_AVG | 0.221 | -0.003 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 1.000 | 0.270 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.316 | 0.002 |
| predicted_R | 0.000 | -0.319 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.343 | -0.003 |
| predicted_SO | 1.000 | 0.163 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 3.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 4.000 | 0.2500 | 0.3333 | 0.4375 | 0.2500 | 0.0000 | 0.1250 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 3.000 | 0.000 | 0.000 | 4.000 | 2.000 | 5.000 | 9.000 | 0.2812 | 0.3784 | 0.3750 | 0.2812 | 0.0000 | 0.1250 | 0.1562 | 0.2812 |
| season | 0.60 | 122 | - | 387.000 | 89.000 | 23.000 | 3.000 | 6.000 | 40.000 | 42.000 | 53.000 | 101.000 | 0.2300 | 0.3296 | 0.3514 | 0.2300 | 0.0155 | 0.1034 | 0.1369 | 0.2610 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2870 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.2220 |
| predicted_AVG | 0.2445 |
| predicted_BB | 0.4320 |
| predicted_H | 0.7880 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.3379 |
| predicted_R | 0.2990 |
| predicted_RBI | 0.3640 |
| predicted_SLG | 0.3755 |
| predicted_SO | 0.8390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.2870 | 0.2313 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 3.3000 | 3.2220 | 3.2663 | model_form_blend |
| predicted_AVG | 0.2110 | 0.2445 | 0.2255 | model_form_blend |
| predicted_BB | 0.4340 | 0.4320 | 0.4331 | model_form_blend |
| predicted_H | 0.7000 | 0.7880 | 0.7380 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0500 | 0.0350 | 0.0435 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3379 | 0.3306 | model_form_blend |
| predicted_R | 0.3440 | 0.2990 | 0.3246 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3640 | 0.3617 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3755 | 0.3599 | model_form_blend |
| predicted_SO | 0.8280 | 0.8390 | 0.8327 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 430 |
| Season rows before report date | 430 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 20260901_MIA@KC |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-01 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.307 |
| sl_xwoba | 0.298 |
| sl_xba | 0.227 |
| sl_xslg | 0.318 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 40.1 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 40.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.104 | 0.000 | 0.000 | Hitting_2B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.330 | 3.000 | 3.000 | Hitting_AB | 3.276 | 4.000 | -0.276 | -1.000 |
| predicted_AVG | 0.204 | 0.000 | 0.000 | Hitting_AVG | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_BB | 0.182 | 1.000 | 0.000 | Hitting_BB | 0.184 | 0.000 | 0.816 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 0.000 | 0.000 | Hitting_H | 0.787 | 0.000 | -0.787 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.257 | 0.250 | 0.000 | Hitting_OBP | 0.288 | 0.000 | -0.038 | 0.250 |
| predicted_R | 0.325 | 0.000 | 0.000 | Hitting_R | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_SLG | 0.326 | 0.000 | 0.000 | Hitting_SLG | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_SO | 0.766 | 1.000 | 1.000 | Hitting_SO | 0.858 | 1.000 | 0.142 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.1820 -> 1.0000 (boost 0.8180, better) |
| Biggest Deboost | predicted_H: 0.6800 -> 0.0000 (deboost -0.6800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3260 -> 0.3323 (boost 0.0063, 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.3323 -> 0.3173 (deboost -0.0150, 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.6771 -> 1.0000 (boost 0.3229, better) | predicted_RBI: 0.3538 -> 0.0000 (deboost -0.3538, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.203 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3293 -> 0.0000 (deboost -0.3293, 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 | 2 | 2 | 0 | 2 | 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 | 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.2550 -> 0.2499 (deboost -0.0051, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.013,
"predicted_AB": 3.33,
"predicted_AVG": 0.204,
"predicted_BB": 0.182,
"predicted_H": 0.68,
"predicted_HR": 0.07,
"predicted_OBP": 0.257,
"predicted_R": 0.325,
"predicted_RBI": 0.35,
"predicted_SLG": 0.326,
"predicted_SO": 0.766
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1208,
"predicted_3B": 0.0113,
"predicted_AB": 3.3149,
"predicted_AVG": 0.2064,
"predicted_BB": 0.2026,
"predicted_H": 0.6846,
"predicted_HBP": 0.025,
"predicted_HR": 0.0784,
"predicted_OBP": 0.261,
"predicted_R": 0.3355,
"predicted_RBI": 0.3605,
"predicted_SLG": 0.3323,
"predicted_SO": 0.7903
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.1208,
"delta": 0.0168,
"percent_delta": 0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0113,
"delta": -0.0017,
"percent_delta": -0.1308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.33,
"after": 3.3149,
"delta": -0.0151,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2064,
"delta": 0.0024,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.2026,
"delta": 0.0206,
"percent_delta": 0.1132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6846,
"delta": 0.0046,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0784,
"delta": 0.0084,
"percent_delta": 0.12,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.261,
"delta": 0.004,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.3355,
"delta": 0.0105,
"percent_delta": 0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3605,
"delta": 0.0105,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3323,
"delta": 0.0063,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.7903,
"delta": 0.0243,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_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.326,
"after": 0.3323,
"delta": 0.0063,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 77
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1208,
"predicted_3B": 0.0113,
"predicted_AB": 3.3149,
"predicted_AVG": 0.2043,
"predicted_BB": 0.2015,
"predicted_H": 0.6771,
"predicted_HBP": 0.025,
"predicted_HR": 0.0771,
"predicted_OBP": 0.2499,
"predicted_R": 0.3293,
"predicted_RBI": 0.3538,
"predicted_SLG": 0.3173,
"predicted_SO": 0.7945
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1208,
"after": 0.1208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3149,
"after": 3.3149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2064,
"after": 0.2043,
"delta": -0.0021,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2026,
"after": 0.2015,
"delta": -0.0011,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6846,
"after": 0.6771,
"delta": -0.0075,
"percent_delta": -0.011,
"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.0784,
"after": 0.0771,
"delta": -0.0013,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2499,
"delta": -0.0111,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3355,
"after": 0.3293,
"delta": -0.0062,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3605,
"after": 0.3538,
"delta": -0.0067,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3323,
"after": 0.3173,
"delta": -0.015,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7903,
"after": 0.7945,
"delta": 0.0042,
"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.3323,
"after": 0.3173,
"delta": -0.015,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.33), rates preserved: AVG=0.203 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.1208,
"after": 0.0,
"delta": -0.1208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0113,
"after": 0.0,
"delta": -0.0113,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3149,
"after": 3.0,
"delta": -0.3149,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2015,
"after": 0.0,
"delta": -0.2015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6771,
"after": 1.0,
"delta": 0.3229,
"percent_delta": 0.4769,
"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.0771,
"after": 0.0,
"delta": -0.0771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3538,
"after": 0.0,
"delta": -0.3538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7945,
"after": 1.0,
"delta": 0.2055,
"percent_delta": 0.2587,
"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.6771,
"after": 1.0,
"delta": 0.3229,
"percent_delta": 0.4769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3538,
"after": 0.0,
"delta": -0.3538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3293,
"after": 0.0,
"delta": -0.3293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3293,
"after": 0.0,
"delta": -0.3293,
"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.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.255,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.316,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2043,
"after": 0.203,
"delta": -0.0013,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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.2499,
"after": 0.255,
"delta": 0.0051,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3173,
"after": 0.316,
"delta": -0.0013,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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.2043,
"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.2499,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3173,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.2043,
"delta": 0.0013,
"percent_delta": 0.0063,
"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.255,
"after": 0.2499,
"delta": -0.0051,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3173,
"delta": 0.0013,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2499,
"delta": -0.0051,
"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.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.33,
"after": 3.0,
"delta": -0.33,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2043,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"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.257,
"after": 0.2499,
"delta": -0.0071,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.325,
"after": 0.0,
"delta": -0.325,
"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.326,
"after": 0.3173,
"delta": -0.0087,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.330 | - |
| predicted_AVG | 0.204 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.325 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 0.766 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | 0.017 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.315 | -0.015 |
| predicted_AVG | 0.206 | 0.002 |
| predicted_BB | 0.203 | 0.021 |
| predicted_H | 0.685 | 0.005 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.078 | 0.008 |
| predicted_OBP | 0.261 | 0.004 |
| predicted_R | 0.336 | 0.011 |
| predicted_RBI | 0.360 | 0.011 |
| predicted_SLG | 0.332 | 0.006 |
| predicted_SO | 0.790 | 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.121 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.315 | 0.000 |
| predicted_AVG | 0.204 | -0.002 |
| predicted_BB | 0.202 | -0.001 |
| predicted_H | 0.677 | -0.007 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.077 | -0.001 |
| predicted_OBP | 0.250 | -0.011 |
| predicted_R | 0.329 | -0.006 |
| predicted_RBI | 0.354 | -0.007 |
| predicted_SLG | 0.317 | -0.015 |
| predicted_SO | 0.794 | 0.004 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.203 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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.121 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.315 |
| predicted_AVG | 0.203 | -0.001 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | 0.323 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.255 | 0.005 |
| predicted_R | 0.000 | -0.329 |
| predicted_RBI | 0.000 | -0.354 |
| predicted_SLG | 0.316 | -0.001 |
| predicted_SO | 1.000 | 0.206 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.1176 | 0.2105 | 0.1765 | 0.1177 | 0.0000 | 0.0588 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 2.000 | 7.000 | 5.000 | 2.000 | 8.000 | 0.2286 | 0.2703 | 0.4571 | 0.2286 | 0.0571 | 0.2000 | 0.0571 | 0.2286 |
| season | 0.60 | 77 | - | 238.000 | 54.000 | 8.000 | 1.000 | 6.000 | 24.000 | 25.000 | 14.000 | 59.000 | 0.2269 | 0.2763 | 0.3445 | 0.2269 | 0.0252 | 0.1008 | 0.0588 | 0.2479 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.2940 |
| predicted_AVG | 0.2098 |
| predicted_BB | 0.2310 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2665 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.3411 |
| predicted_SO | 0.8240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1040 | 0.1440 | 0.1208 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0113 | model_form_blend |
| predicted_AB | 3.3300 | 3.2940 | 3.3149 | model_form_blend |
| predicted_AVG | 0.2040 | 0.2098 | 0.2064 | model_form_blend |
| predicted_BB | 0.1820 | 0.2310 | 0.2026 | model_form_blend |
| predicted_H | 0.6800 | 0.6910 | 0.6846 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0700 | 0.0900 | 0.0784 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2665 | 0.2610 | model_form_blend |
| predicted_R | 0.3250 | 0.3500 | 0.3355 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3750 | 0.3605 | model_form_blend |
| predicted_SLG | 0.3260 | 0.3411 | 0.3323 | model_form_blend |
| predicted_SO | 0.7660 | 0.8240 | 0.7903 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 239 |
| Season rows before report date | 239 |
| Report year | 2026 |
| Profile rows used | 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 | 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 | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 664728 |
| playerID | 664728 |
| playerName | Kyle Isbel |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.278 |
| sl_xwoba | 0.265 |
| sl_xba | 0.228 |
| sl_xslg | 0.315 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 34.2 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 18.1 |
| sl_swing_percent | 47.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.556 | 0.000 | 0.444 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.333 | 0.000 | 0.667 | 3.000 |
| predicted_H | 8.000 | 8.000 | 8.000 | Pitching_H | 5.370 | 4.000 | 2.630 | 4.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.226 | 8.000 | -0.126 | -1.900 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.037 | 10.000 | -0.037 | -5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 0.0000 -> 5.0000 (boost 5.0000, better) |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 3 | 1 | 2 | 2 | 1 | predicted_SO: 0.0000 -> 5.0000 (boost 5.0000, better) | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "608379",
"player_name": "Michael Wacha",
"position": "Starter",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 8.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": "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": 8.0,
"predicted_HR": 0.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 5.0,
"delta": 5.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 5.0,
"delta": 5.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 8.0,
"predicted_HR": 0.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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 5.0,
"delta": 5.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 5.0,
"delta": 5.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 8.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 0.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 8.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 5.000 | 5.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.100 | 9.000 | 23.000 | 4.000 | 25.000 | 6.000 | 2.5052 | 0.8351 | 0.2783 | 0.7113 | 0.1237 | 0.7732 | 0.1856 |
| last_10 | 0.35 | 10 | 62.000 | 23.000 | 51.000 | 12.000 | 52.000 | 12.000 | 3.3387 | 1.0161 | 0.3710 | 0.8226 | 0.1935 | 0.8387 | 0.1935 |
| season | 0.20 | 27 | 170.200 | 63.000 | 145.000 | 42.000 | 136.000 | 22.000 | 3.3223 | 1.0957 | 0.3691 | 0.8496 | 0.2461 | 0.7969 | 0.1289 |
| Metric | Value |
|---|---|
| predicted_BB | 1.2890 |
| predicted_ER | 2.2500 |
| predicted_ERA | 3.1974 |
| predicted_H | 5.1200 |
| predicted_HR | 1.0910 |
| predicted_IP | 6.1000 |
| predicted_SO | 5.2090 |
| predicted_WHIP | 1.0120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.2890 | 1.5848 | model_form_blend |
| predicted_ER | 4.0000 | 2.2500 | 2.9780 | model_form_blend |
| predicted_ERA | - | 3.1974 | 3.1974 | form_only |
| predicted_H | 8.0000 | 5.1200 | 6.3181 | model_form_blend |
| predicted_HR | 0.0000 | 1.0910 | 0.6372 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 0.0000 | 5.2090 | 3.0421 | model_form_blend |
| predicted_WHIP | - | 1.0120 | 1.0120 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 8 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 5 |
| HR | 0 |
| BF | 29 |
| Pitches | 119 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 28 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.32 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 8 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 8.0 |
| Pitching_Pitches | 103 |
| Pitching_R | 0 |
| Pitching_SO | 10 |
| Pitching_Strikes | 75 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_KC@CLE |
| game_type | full |
| mlbID | 608379 |
| playerID | 608379 |
| playerName | Michael Wacha |
| pos | P |
| started | True |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-08-28 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.298 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 36.7 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 77.712975569 |
| sl_avg_hyper_speed | 93.601869106 |
| 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.375 | 0.000 | 0.625 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.562 | 2.000 | -0.562 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.950 | 1.000 | 0.050 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.875 | 1.000 | -0.875 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663878",
"player_name": "Nate Pearson",
"position": "Setup Man",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 5.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 1.4000 | 0.0000 | 1.0000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 6.000 | 4.000 | 10.000 | 0.000 | 0.9000 | 1.0000 | 0.1000 | 0.6000 | 0.4000 | 1.0000 | 0.0000 |
| season | 0.20 | 32 | 35.200 | 9.000 | 25.000 | 18.000 | 30.000 | 1.000 | 2.2710 | 1.2056 | 0.2523 | 0.7009 | 0.5047 | 0.8411 | 0.0280 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4000 |
| predicted_ER | 0.2550 |
| predicted_ERA | 2.2932 |
| predicted_H | 0.8710 |
| predicted_HR | 0.0640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9560 |
| predicted_WHIP | 1.2714 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4000 | 0.7142 | model_form_blend |
| predicted_ER | 0.0000 | 0.2550 | 0.1215 | model_form_blend |
| predicted_ERA | - | 2.2932 | 2.2932 | form_only |
| predicted_H | 0.0000 | 0.8710 | 0.4149 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0305 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9560 | 0.9790 | model_form_blend |
| predicted_WHIP | - | 1.2714 | 1.2714 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.27 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 663878 |
| playerID | 663878 |
| playerName | Nate Pearson |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.275 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 74.908714583 |
| sl_avg_hyper_speed | 93.500525158 |
| 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.388 | 0.000 | 0.612 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.510 | 0.000 | 1.490 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.939 | 2.000 | 1.061 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.959 | 1.000 | 0.041 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 2.000 | -1.143 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 1 | 1 | 0 | 0 | 1 | predicted_ER: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "674444",
"player_name": "Steven Cruz",
"position": "Closer",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 1.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 4.000 | 9.000 | 1.000 | 5.000 | 1.000 | 6.7500 | 1.8750 | 0.7500 | 1.6875 | 0.1875 | 0.9375 | 0.1875 |
| last_10 | 0.35 | 10 | 10.200 | 5.000 | 12.000 | 2.000 | 9.000 | 1.000 | 4.2188 | 1.3125 | 0.4688 | 1.1250 | 0.1875 | 0.8438 | 0.0938 |
| season | 0.20 | 49 | 51.200 | 25.000 | 46.000 | 19.000 | 56.000 | 12.000 | 4.3548 | 1.2581 | 0.4839 | 0.8903 | 0.3677 | 1.0839 | 0.2323 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2710 |
| predicted_ER | 0.5660 |
| predicted_ERA | 5.0903 |
| predicted_H | 1.2150 |
| predicted_HR | 0.1580 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9360 |
| predicted_WHIP | 1.4861 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2710 | 0.6263 | model_form_blend |
| predicted_ER | 1.0000 | 0.5660 | 0.7775 | model_form_blend |
| predicted_ERA | - | 5.0903 | 5.0903 | form_only |
| predicted_H | 2.0000 | 1.2150 | 1.5975 | model_form_blend |
| predicted_HR | 1.0000 | 0.1580 | 0.5683 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9360 | 0.4799 | model_form_blend |
| predicted_WHIP | - | 1.4861 | 1.4861 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.35 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260828_KC@CLE |
| game_type | full |
| mlbID | 674444 |
| playerID | 674444 |
| playerName | Steven Cruz |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-08-28 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.333 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 52.5 |
| sl_avg_best_speed | 77.351636765 |
| sl_avg_hyper_speed | 94.202071985 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.014 | 1.000 | -0.814 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.571 | 1.000 | -0.571 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "518886",
"player_name": "Craig Kimbrel",
"position": "Middle Reliever (High Leverage)",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 5.000 | 6.000 | 7.000 | 0.000 | 2.7000 | 1.1000 | 0.3000 | 0.5000 | 0.6000 | 0.7000 | 0.0000 |
| season | 0.20 | 40 | 41.000 | 18.000 | 31.000 | 18.000 | 36.000 | 4.000 | 3.9512 | 1.1951 | 0.4390 | 0.7561 | 0.4390 | 0.8780 | 0.0976 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3330 |
| predicted_ER | 0.2690 |
| predicted_ERA | 2.7710 |
| predicted_H | 0.5480 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7350 |
| predicted_WHIP | 1.0078 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3330 | 0.1633 | model_form_blend |
| predicted_ER | 0.0000 | 0.2690 | 0.1319 | model_form_blend |
| predicted_ERA | - | 2.7710 | 2.7710 | form_only |
| predicted_H | 0.0000 | 0.5480 | 0.2688 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0289 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7350 | 1.3796 | model_form_blend |
| predicted_WHIP | - | 1.0078 | 1.0078 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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.95 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_MIA@KC |
| game_type | full |
| mlbID | 518886 |
| playerID | 518886 |
| playerName | Craig Kimbrel |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.301 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 80.380194909 |
| sl_avg_hyper_speed | 93.842777636 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIL 7 - 6 CHC | MIL | 0.534 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIL 7 - 6 CHC | MIL | - | 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.5629; empirical=0.5332; weight=0.5000; final=0.5480 |
| P1 | H2H margin as base feature | available | home net=12; abs=12; home delta=0.0692; away delta=-0.0692 |
| 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.3821; recent edge=0.2200; 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.5337 |
| 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.819 | 4.036 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 7 | 6 | 0.5337 | 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 | 7 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 7 | 6 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 7 | 6 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 7 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5002766055429351,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.07047197128577926,
"confidence": 0.6819814000000001,
"factors": {
"environmental": 1.01745,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.1639628000000002
},
"prediction": "normal_scoring",
"expected_total_runs": 13,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 13,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 377,
"near_bucket_sample_size": 377,
"medium_bucket_sample_size": 512,
"wide_bucket_sample_size": 577,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5332,
"bayesian_hit_rate": 0.5316,
"prior_strength": 18.0,
"raw_pick_probability": 0.5085,
"raw_pick_probability_unclamped": 0.5085,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4915,
"margin_implied_pick_probability": 0.5085,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5085,
"score_implied_floor_pick_probability": 0.5082,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.4915,
"uncapped_away_win_probability": 0.5085,
"calibrated_pick_probability": 0.5082,
"predicted_side": "away",
"reliability": 0.95443,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.97038
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.562857,
"sample_size": 377,
"empirical_hit_rate": 0.5332,
"empirical_weight": 0.5,
"blended_confidence": 0.548029,
"published_confidence": 0.533686,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 12.0,
"absolute_net_margin": 12.0,
"home_average_margin": 2.4,
"home_run_delta": 0.0692,
"away_run_delta": -0.0692,
"evidence": [
{
"game_id": null,
"home_margin": -4.0
},
{
"game_id": null,
"home_margin": -5.0
},
{
"game_id": null,
"home_margin": 14.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": 6.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571428571428572,
"runs_scored": 751,
"runs_allowed": 619,
"run_differential": 132,
"run_differential_per_game": 0.9428571428571428,
"available": true
},
"away": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214285714285714,
"runs_scored": 704,
"runs_allowed": 532,
"run_differential": 172,
"run_differential_per_game": 1.2285714285714286,
"available": true
},
"run_differential_edge_per_game": -0.2857,
"win_pct_edge": -0.0643,
"quality_edge": -0.1714,
"season_quality_edge": -0.3821,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.3821,
"recent_quality_edge": 0.22,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.1714
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 6,
"away_runs": 6,
"probability": 0.016595942361042865
},
{
"home_runs": 6,
"away_runs": 7,
"probability": 0.015948176447924622
},
{
"home_runs": 5,
"away_runs": 6,
"probability": 0.01577957211742411
},
{
"home_runs": 7,
"away_runs": 6,
"probability": 0.01577740258156771
},
{
"home_runs": 6,
"away_runs": 5,
"probability": 0.015636480565280633
}
],
"home_distribution": {
"0": 0.02101147029384995,
"1": 0.03662087084259193,
"2": 0.05769361948650552,
"3": 0.0821587453228049,
"4": 0.10575641127810086,
"5": 0.12305138495476428,
"6": 0.12941755815424041,
"7": 0.12303446660046087,
"8": 0.10572733234597598,
"9": 0.0821248619253515,
"10": 0.05766189681025891,
"11": 0.03659570271777473,
"12": 0.020994143028460914,
"13": 0.010886621064862014,
"14": 0.005102875301404302,
"15": 0.002162039872592937
},
"away_distribution": {
"0": 0.02020804740059175,
"1": 0.03524976545949336,
"2": 0.055671678719714957,
"3": 0.07960834739759462,
"4": 0.10306924751902813,
"5": 0.12082194091967804,
"6": 0.12823563199410506,
"7": 0.12323039219236015,
"8": 0.10721934518451497,
"9": 0.08446458958698219,
"10": 0.0602451940403348,
"11": 0.03890597869072451,
"12": 0.022748694968078503,
"13": 0.01204322599007133,
"14": 0.005772652173083409,
"15": 0.002505267763644007
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.54,
"winner_flipped": false,
"reasons": [
"predicted side recently lost this matchup by 5+ runs",
"opponent already produced an 8+ run breakout in this matchup",
"recent head-to-head is split and volatile",
"recent head-to-head margin does not support a strong repeat pick",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs"
],
"signals": {
"predicted_team": "MIL",
"opponent_team": "CHC",
"h2h_net_margin": -5,
"opponent_breakout": true,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 9,
"opponent_runs": 5,
"margin_for_predicted_team": 4,
"winner": "MIL"
},
{
"date": "2026-09-01",
"predicted_team_runs": 9,
"opponent_runs": 4,
"margin_for_predicted_team": 5,
"winner": "MIL"
},
{
"date": "2026-08-31",
"predicted_team_runs": 3,
"opponent_runs": 17,
"margin_for_predicted_team": -14,
"winner": "CHC"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 6,
"consecutive_same_pick_count": 1,
"same_pick_actual_loss_count": 3,
"same_pick_blowout_loss_count": 2,
"prior_predictions": [
{
"date": "20260902",
"away": "MIL",
"home": "CHC",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "MIL",
"actual_margin": 4,
"raw_pick_probability": 0.5396270000000001,
"artifact": "20260902_MIL@CHC.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "MIL",
"home": "CHC",
"game_number": 1,
"predicted_team": "CHC",
"actual_winner": "MIL",
"actual_margin": 5,
"raw_pick_probability": 0.698612,
"artifact": "20260901_MIL@CHC.json",
"verification": "pregame_official_final"
},
{
"date": "20260831",
"away": "MIL",
"home": "CHC",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "CHC",
"actual_margin": 14,
"raw_pick_probability": 0.53,
"artifact": "20260831_MIL@CHC.json",
"verification": "pregame_official_final"
},
{
"date": "20260628",
"away": "CHC",
"home": "MIL",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "CHC",
"actual_margin": 1,
"raw_pick_probability": 0.51,
"artifact": "20260628_CHC@MIL.json",
"verification": "pregame_official_final"
},
{
"date": "20260627",
"away": "CHC",
"home": "MIL",
"game_number": 1,
"predicted_team": "MIL",
"actual_winner": "CHC",
"actual_margin": 6,
"raw_pick_probability": 0.525,
"artifact": "20260627_CHC@MIL.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": "CHC",
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "CHC",
"simulation_score_winner": "MIL",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"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.1494,
"recent_form_edge_home_minus_away": 0.29,
"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": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "MIL",
"published_winner_draw_share": 0.3333,
"draw_majority_team": "CHC",
"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": 7,
"home_runs": 6
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.1714,
"winner": "MIL",
"score_reviewed": {
"away_runs": 7,
"home_runs": 6,
"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": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571428571428572,
"runs_scored": 751,
"runs_allowed": 619,
"run_differential": 132,
"run_differential_per_game": 0.9428571428571428,
"available": true
},
"away": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214285714285714,
"runs_scored": 704,
"runs_allowed": 532,
"run_differential": 172,
"run_differential_per_game": 1.2285714285714286,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.1714,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.54,
"final_confidence": 0.5082,
"calibrated_pick_probability": 0.5082,
"shrinkage_weight": 0.97038,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 377,
"calibration_empirical_hit_rate": 0.5332,
"calibration_bayesian_hit_rate": 0.5316,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1714,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 7,
"home_runs": 6
},
"margin": -1,
"probability_before": 0.491752,
"margin_implied_home_probability": 0.415,
"shrinkage_weight": 0.97038,
"side_flipped": false,
"applied": true,
"probability_after": 0.453376,
"aligned_pick_probability": 0.546624
}
}{
"pre_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"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.1494,
"recent_form_edge_home_minus_away": 0.29,
"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": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "MIL",
"published_winner_draw_share": 0.3333,
"draw_majority_team": "CHC",
"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": 7,
"home_runs": 6
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.1714,
"winner": "MIL",
"score_reviewed": {
"away_runs": 7,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 7,
"home_runs": 6,
"confidence": 0.53368584,
"home_win_probability": 0.46631416000000003,
"away_win_probability": 0.53368584,
"predicted_score_text": "MIL 7 - 6 CHC",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIL",
"original_runs": 7,
"run_delta": 0.1967,
"adjusted_runs": 7,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.3364427389473313,
"contact": 0.37531508577284034,
"power": 0.4282528607694862,
"discipline": 0.20229679368048278,
"xwoba": 0.3298055555555555,
"recent_xwoba": 0.3298055555555555,
"barrel": 8.930555555555555,
"ab_hard_contact": 0.13799901433152012,
"ab_bat_speed": 71.10608192048167,
"ab_strikeout_rate": 0.23663376187507282,
"available_players": 9,
"top_players": [
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"weight": 3.0,
"quality": 0.9811521608107227,
"contact": 1.0014740879664983,
"power": 1.2834618572438334,
"discipline": 0.6131225790010194,
"xwoba": 0.372,
"recent_xwoba": 0.372,
"barrel": 13.5,
"ab_hard_contact": 0.49857047820999995,
"ab_bat_speed": 74.99317920784667,
"ab_strikeout_rate": 0.2636194844910441,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"weight": 3.0,
"quality": -0.7598498528323253,
"contact": -0.8064223785704698,
"power": -0.9687063007005987,
"discipline": 0.1187357690202519,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 3.4,
"ab_hard_contact": -1.4335545854405463,
"ab_bat_speed": 62.9329625167336,
"ab_strikeout_rate": 0.24693486590038316,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"weight": 6.0,
"quality": 0.6883574186894568,
"contact": 0.6680928287509262,
"power": 1.144983335417659,
"discipline": -0.1435674603174603,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 13.0,
"ab_hard_contact": 0.6630952797817474,
"ab_bat_speed": 73.27895580186097,
"ab_strikeout_rate": 0.2438095238095238,
"available": 1.0
},
{
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"weight": 4.0,
"quality": 0.6498326895008779,
"contact": 0.6727231254700758,
"power": 1.000191192385203,
"discipline": -0.3924389787361486,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 11.9,
"ab_hard_contact": 0.7150619429421339,
"ab_bat_speed": 75.80897943376068,
"ab_strikeout_rate": 0.3543238993710692,
"available": 1.0
},
{
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"weight": 5.0,
"quality": 0.5387367690142321,
"contact": 0.6374865570134387,
"power": 0.49134948763706393,
"discipline": 0.5312016908212561,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 8.0,
"ab_hard_contact": 0.25594213369366403,
"ab_bat_speed": 72.18558159722222,
"ab_strikeout_rate": 0.14211180124223602,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "592332",
"player_name": "Kevin Gausman",
"quality": 0.13282599382446192,
"contact": 0.20089849815626198,
"command": 0.11174212454212469,
"movement": -0.18090315360947734,
"xwoba": 0.306,
"whiff": 27.1,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "CHC",
"original_runs": 6,
"run_delta": -0.2407,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.16373228925283276,
"contact": 0.18398960753333832,
"power": 0.1721212879254169,
"discipline": 0.3662558042541395,
"xwoba": 0.32763888888888887,
"recent_xwoba": 0.32763888888888887,
"barrel": 8.12222222222222,
"ab_hard_contact": 0.09197073205331095,
"ab_bat_speed": 69.8009457755226,
"ab_strikeout_rate": 0.216470386222051,
"available_players": 9,
"top_players": [
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 5.0,
"quality": 0.7760195771135645,
"contact": 0.7928844884727704,
"power": 1.200771619584792,
"discipline": 0.14490873015873018,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 13.0,
"ab_hard_contact": 0.5965752488386972,
"ab_bat_speed": 72.46966860317461,
"ab_strikeout_rate": 0.2613333333333333,
"available": 1.0
},
{
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "DH",
"weight": 3.0,
"quality": 0.2684954497174788,
"contact": 0.074123194356626,
"power": 0.7074136793513477,
"discipline": -0.0921545683313974,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 11.6,
"ab_hard_contact": 0.12294025369362621,
"ab_bat_speed": 70.80011458333334,
"ab_strikeout_rate": 0.3203252032520325,
"available": 1.0
},
{
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "RF",
"weight": 4.0,
"quality": 0.2923381133636416,
"contact": 0.26045791810592767,
"power": 0.4378433424386125,
"discipline": 0.4200656966490299,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 10.4,
"ab_hard_contact": 0.34810494401033243,
"ab_bat_speed": 71.54578506515774,
"ab_strikeout_rate": 0.25910493827160497,
"available": 1.0
},
{
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "SS",
"weight": 4.0,
"quality": -0.02439809442586012,
"contact": 0.37767154698382965,
"power": -0.7675380639071568,
"discipline": 0.6728691777257351,
"xwoba": 0.323,
"recent_xwoba": 0.323,
"barrel": 1.4,
"ab_hard_contact": -0.16523746861933578,
"ab_bat_speed": 67.76414928658167,
"ab_strikeout_rate": 0.09080145719489982,
"available": 1.0
},
{
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"weight": 4.0,
"quality": -0.03841502737613015,
"contact": -0.37920499666368424,
"power": 0.4009314080674397,
"discipline": -0.07318090569561185,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 11.4,
"ab_hard_contact": 0.004532923253548069,
"ab_bat_speed": 70.80325163398693,
"ab_strikeout_rate": 0.31099439775910365,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "701656",
"player_name": "Logan Henderson",
"quality": 0.6347149875890635,
"contact": 0.983636832452849,
"command": 0.5218849816849818,
"movement": 0.023120950181966554,
"xwoba": 0.257,
"whiff": 26.9,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 7,
"home_runs": 6,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 7,
"home_runs": 6,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.1714,
"recent_form_edge_home_minus_away": 0.29,
"pitcher_matchup_edge_home_minus_away": -0.1494,
"composite_home_edge": -0.5304,
"existing_home_win_probability": 0.4534,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.5304
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.453376,
"uncapped_away_win_probability": 0.546624,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.546624,
"discount_factor": 0.7225,
"published_confidence": 0.533686,
"guardrail_confidence_cap": 0.54,
"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": 7,
"home_runs": 6,
"predicted_score_text": "MIL 7 - 6 CHC",
"confidence": 0.53368584,
"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": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 CHC",
"winner": "MIL"
},
"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.1494,
"recent_form_edge_home_minus_away": 0.29,
"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": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "MIL",
"published_winner_draw_share": 0.3333,
"draw_majority_team": "CHC",
"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": 7,
"home_runs": 6
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.1714,
"winner": "MIL",
"score_reviewed": {
"away_runs": 7,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "MIL",
"display_confidence": 0.5337,
"internal_signal_score": 0.5352,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5337,
"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.1714,
"winner_recent_form_edge": -0.22,
"winner_pitcher_matchup_edge": 0.1494,
"winner_simulation_draw_rate": 0.3333,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.3333,
"low_total_draw_rate_6_or_less": 0.3333,
"total_runs_spread": {
"min": 6,
"median": 10,
"max": 12,
"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 MIL | True | 1.0344 | 1.0344 | 1 | 9 | 0 |
| Home CHC | True | 1.0265 | 1.0265 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Jake Bauers | 65 | 1.0981 | 1.3086 | neutral | 0.3720 | 0.2570 | 0.4720 | 13.50 | 53.10 | 92.40 | 11.30 | 28.50 | 25.80 | 15.70 | -0.3143 |
| LF | Jackson Chourio | 43 | 1.0627 | 0.8355 | neutral | 0.3380 | 0.2580 | 0.4690 | 13 | 47.70 | 92 | 11.60 | 24.80 | 23.50 | 8 | -0.6000 |
| 1B | Andrew Vaughn | 148 | 1.0240 | 0.3203 | negative_batter_regression | 0.3340 | 0.2690 | 0.3840 | 5.10 | 43 | 90 | 10.40 | 19.50 | 15.40 | 10.70 | -1.2000 |
| 2B | Brice Turang | 9 | 1.0433 | 0.5769 | neutral | 0.3360 | 0.2510 | 0.4200 | 7.40 | 41.10 | 90.10 | 9 | 22.50 | 25 | 12.60 | -0.0571 |
| C | William Contreras | 84 | 1.0551 | 0.7353 | neutral | 0.3370 | 0.2630 | 0.4410 | 8 | 43.70 | 90.10 | 12.60 | 20.10 | 13.80 | 9.30 | 0.2571 |
| DH | Christian Yelich | 319 | 1.0233 | 0.3109 | neutral | 0.3150 | 0.2360 | 0.3960 | 10 | 43.30 | 89 | 3.40 | 29 | 26 | 9.80 | 0.0571 |
| CF | Garrett Mitchell | 74 | 1.0729 | 0.9714 | neutral | 0.3480 | 0.2600 | 0.4370 | 11.90 | 51.60 | 92.90 | 1.80 | 36.40 | 31.40 | 11.70 | 0.2571 |
| SS | Joey Ortiz | 136 | 0.9804 | -0.2617 | neutral | 0.2950 | 0.2370 | 0.3400 | 4.30 | 36.80 | 88.80 | 5.70 | 18.60 | 18.10 | 9 | -0.5143 |
| 3B | David Hamilton | 144 | 0.9499 | -0.6687 | neutral | 0.2750 | 0.2220 | 0.3110 | 3.40 | 27.80 | 87 | 12.50 | 21.70 | 21.20 | 8.80 | -0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Alex Bregman | 12 | 1.0055 | 0.0731 | neutral | 0.3170 | 0.2460 | 0.3770 | 5.70 | 37.90 | 88.10 | 17.30 | 16.20 | 15.40 | 10.50 | -0.8286 |
| 1B | Michael Busch | 170 | 1.0278 | 0.3701 | neutral | 0.3280 | 0.2290 | 0.3960 | 9 | 39.50 | 88.30 | 15.70 | 25.90 | 23.20 | 12.60 | -0.0286 |
| SS | Nico Hoerner | 90 | 1.0188 | 0.2509 | neutral | 0.3230 | 0.2980 | 0.3740 | 1.40 | 28.10 | 85.90 | 12.20 | 12.10 | 8.80 | 6.80 | 0.6571 |
| CF | Pete Crow-Armstrong | 1 | 1.0838 | 1.1177 | negative_batter_regression | 0.3670 | 0.2570 | 0.4930 | 13 | 48.70 | 90.20 | 21.90 | 26.90 | 26.30 | 11.60 | -0.9714 |
| RF | Seiya Suzuki | 14 | 1.0419 | 0.5582 | negative_batter_regression | 0.3420 | 0.2500 | 0.4320 | 10.40 | 38.70 | 88.40 | 18.60 | 24.30 | 24.50 | 12.70 | -0.8857 |
| LF | Ian Happ | 70 | 1.0139 | 0.1854 | neutral | 0.3120 | 0.2050 | 0.3970 | 11.40 | 41.50 | 89.20 | 14.70 | 31 | 30.30 | 12.20 | -0.4571 |
| DH | Michael Conforto | 265 | 1.0425 | 0.5662 | neutral | 0.3270 | 0.2320 | 0.4330 | 11.60 | 42.50 | 90.60 | 18.30 | 29.20 | 28.70 | 11.30 | -0.4571 |
| 2B | Pedro Ramirez | 193 | 1.0014 | 0.0184 | negative_batter_regression | 0.3060 | 0.2640 | 0.3680 | 4.30 | 41.80 | 89.20 | 10.90 | 20.60 | 17.30 | 8.40 | -0.9714 |
| C | Carson Kelly | 111 | 1.0029 | 0.0388 | neutral | 0.3140 | 0.2420 | 0.3780 | 5.60 | 36.20 | 87.20 | 12.70 | 19.50 | 16.30 | 10.30 | -0.4571 |
{
"home": {
"applied": true,
"offense_factor": 1.0265,
"raw_average_factor": 1.0265,
"team_espn_average_rank": 102.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0055,
"quality_score": 0.0731,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 12,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 12,
"gp_value": 137.0,
"gp_rank": "20",
"ab_value": 547.0,
"ab_rank": "3",
"r_value": 82.0,
"r_rank": "24",
"h_value": 142.0,
"h_rank": "17",
"avg_value": 0.2595978,
"avg_rank": 62.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 24.0,
"hr_rank": "26",
"rbi_value": 81.0,
"rbi_rank": "17",
"tb_value": 243.0,
"tb_rank": "389",
"bb_value": 66.0,
"bb_rank": "28",
"so_value": 97.0,
"so_rank": "112",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3455414,
"obp_rank": "47",
"slg_value": 0.4442413,
"slg_rank": "49",
"ops_value": 0.7897827,
"ops_rank": 51.0,
"war_value": 4.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 563.0,
"k_percent": 15.4,
"bb_percent": 10.5,
"woba": 0.346,
"xwoba": 0.317,
"xba": 0.246,
"xslg": 0.377,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 17.3,
"whiff_percent": 16.2,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.2199,
"regression_edge": -0.8286,
"xwoba_edge": 0.4571,
"xba_edge": 0.2857,
"xslg_edge": 0.1429,
"barrel_edge": -0.2111,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.2083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0278,
"quality_score": 0.3701,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 170,
"gp_value": 138.0,
"gp_rank": "15",
"ab_value": 527.0,
"ab_rank": "20",
"r_value": 62.0,
"r_rank": "90",
"h_value": 125.0,
"h_rank": "62",
"avg_value": 0.2371916,
"avg_rank": 108.0,
"2b_value": 25.0,
"2b_rank": "47",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 68.0,
"rbi_rank": "54",
"tb_value": 205.0,
"tb_rank": "495",
"bb_value": 78.0,
"bb_rank": "15",
"so_value": 144.0,
"so_rank": "22",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3462157,
"obp_rank": "47",
"slg_value": 0.3889943,
"slg_rank": "105",
"ops_value": 0.73521,
"ops_rank": 85.0,
"war_value": 1.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 557.0,
"k_percent": 23.2,
"bb_percent": 12.6,
"woba": 0.329,
"xwoba": 0.328,
"xba": 0.229,
"xslg": 0.396,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 15.7,
"whiff_percent": 25.9,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.435,
"regression_edge": -0.0286,
"xwoba_edge": 0.7714,
"xba_edge": -0.2,
"xslg_edge": 0.4143,
"barrel_edge": 0.5222,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.1417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0188,
"quality_score": 0.2509,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 90,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 90,
"gp_value": 137.0,
"gp_rank": "20",
"ab_value": 544.0,
"ab_rank": "6",
"r_value": 56.0,
"r_rank": "113",
"h_value": 142.0,
"h_rank": "17",
"avg_value": 0.2610294,
"avg_rank": 61.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 62.0,
"rbi_rank": "76",
"tb_value": 195.0,
"tb_rank": "965",
"bb_value": 41.0,
"bb_rank": "115",
"so_value": 53.0,
"so_rank": "278",
"sb_value": 22.0,
"sb_rank": "19",
"obp_value": 0.3166666,
"obp_rank": "95",
"slg_value": 0.3584558,
"slg_rank": "133",
"ops_value": 0.6751224,
"ops_rank": 129.0,
"war_value": 2.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 541.0,
"k_percent": 8.8,
"bb_percent": 6.8,
"woba": 0.3,
"xwoba": 0.323,
"xba": 0.298,
"xslg": 0.374,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 12.2,
"whiff_percent": 12.1,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.1848,
"regression_edge": 0.6571,
"xwoba_edge": 0.6286,
"xba_edge": 1.7714,
"xslg_edge": 0.1,
"barrel_edge": -1.1667,
"hard_hit_edge": -1.3714,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": 0.6417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.0838,
"quality_score": 1.1177,
"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": 658,
"metrics": {
"espn_rank": 1,
"gp_value": 140.0,
"gp_rank": "1",
"ab_value": 539.0,
"ab_rank": "9",
"r_value": 102.0,
"r_rank": "1",
"h_value": 151.0,
"h_rank": "10",
"avg_value": 0.2801484,
"avg_rank": 25.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 7.0,
"3b_rank": "4",
"hr_value": 38.0,
"hr_rank": "2",
"rbi_value": 91.0,
"rbi_rank": "7",
"tb_value": 306.0,
"tb_rank": "40",
"bb_value": 73.0,
"bb_rank": "17",
"so_value": 165.0,
"so_rank": "8",
"sb_value": 32.0,
"sb_rank": "5",
"obp_value": 0.3753993,
"obp_rank": "11",
"slg_value": 0.5677179,
"slg_rank": "2",
"ops_value": 0.9431172,
"ops_rank": 2.0,
"war_value": 8.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 558.0,
"k_percent": 26.3,
"bb_percent": 11.6,
"woba": 0.401,
"xwoba": 0.367,
"xba": 0.257,
"xslg": 0.493,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 48.7,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 21.9,
"whiff_percent": 26.9,
"swing_percent": 49.2
},
"components": {
"expected_quality": 1.4578,
"regression_edge": -0.9714,
"xwoba_edge": 1.8857,
"xba_edge": 0.6,
"xslg_edge": 1.8,
"barrel_edge": 1.4111,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.8583,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"offense_factor": 1.0419,
"quality_score": 0.5582,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "673548",
"espn_id": 4142424,
"player_name": "Seiya Suzuki",
"team": "CHC",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 14,
"gp_value": 122.0,
"gp_rank": "119",
"ab_value": 466.0,
"ab_rank": "80",
"r_value": 85.0,
"r_rank": "15",
"h_value": 128.0,
"h_rank": "50",
"avg_value": 0.2746781,
"avg_rank": 34.0,
"2b_value": 28.0,
"2b_rank": "19",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 24.0,
"hr_rank": "26",
"rbi_value": 80.0,
"rbi_rank": "18",
"tb_value": 228.0,
"tb_rank": "723",
"bb_value": 69.0,
"bb_rank": "20",
"so_value": 133.0,
"so_rank": "40",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3708487,
"obp_rank": "16",
"slg_value": 0.4892703,
"slg_rank": "20",
"ops_value": 0.860119,
"ops_rank": 13.0,
"war_value": 4.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 476.0,
"k_percent": 24.5,
"bb_percent": 12.7,
"woba": 0.373,
"xwoba": 0.342,
"xba": 0.25,
"xslg": 0.432,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 10.4,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 18.6,
"whiff_percent": 24.3,
"swing_percent": 40.0
},
"components": {
"expected_quality": 0.7933,
"regression_edge": -0.8857,
"xwoba_edge": 1.1714,
"xba_edge": 0.4,
"xslg_edge": 0.9286,
"barrel_edge": 0.8333,
"hard_hit_edge": 0.1429,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.8583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0139,
"quality_score": 0.1854,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 70,
"gp_value": 135.0,
"gp_rank": "36",
"ab_value": 486.0,
"ab_rank": "69",
"r_value": 80.0,
"r_rank": "30",
"h_value": 107.0,
"h_rank": "102",
"avg_value": 0.2201646,
"avg_rank": 130.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 23.0,
"hr_rank": "33",
"rbi_value": 61.0,
"rbi_rank": "80",
"tb_value": 204.0,
"tb_rank": "396",
"bb_value": 69.0,
"bb_rank": "20",
"so_value": 171.0,
"so_rank": "5",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.3250444,
"obp_rank": "85",
"slg_value": 0.419753,
"slg_rank": "72",
"ops_value": 0.7447974,
"ops_rank": 75.0,
"war_value": 2.67,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 509.0,
"k_percent": 30.3,
"bb_percent": 12.2,
"woba": 0.328,
"xwoba": 0.312,
"xba": 0.205,
"xslg": 0.397,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.7,
"whiff_percent": 31.0,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.29,
"regression_edge": -0.4571,
"xwoba_edge": 0.3143,
"xba_edge": -0.8857,
"xslg_edge": 0.4286,
"barrel_edge": 1.0556,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.175,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "624424",
"player_name": "Michael Conforto",
"offense_factor": 1.0425,
"quality_score": 0.5662,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624424",
"espn_id": 33711,
"player_name": "Michael Conforto",
"team": "CHC",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 265,
"gp_value": 94.0,
"gp_rank": "222",
"ab_value": 214.0,
"ab_rank": "291",
"r_value": 29.0,
"r_rank": "268",
"h_value": 50.0,
"h_rank": "287",
"avg_value": 0.2336448,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": "214",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 13.0,
"hr_rank": "134",
"rbi_value": 37.0,
"rbi_rank": "208",
"tb_value": 102.0,
"tb_rank": "1479",
"bb_value": 28.0,
"bb_rank": "204",
"so_value": 71.0,
"so_rank": "206",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3238866,
"obp_rank": "-",
"slg_value": 0.4766355,
"slg_rank": "-",
"ops_value": 0.8005221,
"ops_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 28.7,
"bb_percent": 11.3,
"woba": 0.343,
"xwoba": 0.327,
"xba": 0.232,
"xslg": 0.433,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 18.3,
"whiff_percent": 29.2,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.7358,
"regression_edge": -0.4571,
"xwoba_edge": 0.7429,
"xba_edge": -0.1143,
"xslg_edge": 0.9429,
"barrel_edge": 1.1,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.9583,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"offense_factor": 1.0014,
"quality_score": 0.0184,
"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": 193,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 193,
"gp_value": 61.0,
"gp_rank": "352",
"ab_value": 172.0,
"ab_rank": "340",
"r_value": 28.0,
"r_rank": "278",
"h_value": 49.0,
"h_rank": "289",
"avg_value": 0.2848837,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": "272",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 24.0,
"rbi_rank": "296",
"tb_value": 75.0,
"tb_rank": "1682",
"bb_value": 16.0,
"bb_rank": "319",
"so_value": 33.0,
"so_rank": "386",
"sb_value": 7.0,
"sb_rank": "131",
"obp_value": 0.3473684,
"obp_rank": "-",
"slg_value": 0.4360465,
"slg_rank": "-",
"ops_value": 0.7834149,
"ops_rank": null,
"war_value": 1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 17.3,
"bb_percent": 8.4,
"woba": 0.34,
"xwoba": 0.306,
"xba": 0.264,
"xslg": 0.368,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 10.9,
"whiff_percent": 20.6,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.1901,
"regression_edge": -0.9714,
"xwoba_edge": 0.1429,
"xba_edge": 0.8,
"xslg_edge": 0.0143,
"barrel_edge": -0.5222,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.2583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "608348",
"player_name": "Carson Kelly",
"offense_factor": 1.0029,
"quality_score": 0.0388,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608348",
"espn_id": 32797,
"player_name": "Carson Kelly",
"team": "CHC",
"role": "batter",
"espn_rank": 111,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 111,
"gp_value": 102.0,
"gp_rank": "187",
"ab_value": 328.0,
"ab_rank": "193",
"r_value": 50.0,
"r_rank": "149",
"h_value": 86.0,
"h_rank": "166",
"avg_value": 0.2621951,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": "214",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 52.0,
"rbi_rank": "120",
"tb_value": 129.0,
"tb_rank": "1466",
"bb_value": 38.0,
"bb_rank": "139",
"so_value": 60.0,
"so_rank": "255",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3441734,
"obp_rank": "-",
"slg_value": 0.3932926,
"slg_rank": "-",
"ops_value": 0.737466,
"ops_rank": null,
"war_value": 1.96,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 329.0,
"k_percent": 16.3,
"bb_percent": 10.3,
"woba": 0.33,
"xwoba": 0.314,
"xba": 0.242,
"xslg": 0.378,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 12.7,
"whiff_percent": 19.5,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.1196,
"regression_edge": -0.4571,
"xwoba_edge": 0.3714,
"xba_edge": 0.1714,
"xslg_edge": 0.1571,
"barrel_edge": -0.2333,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.375,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0344,
"raw_average_factor": 1.0344,
"team_espn_average_rank": 113.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0981,
"quality_score": 1.3086,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 65,
"gp_value": 125.0,
"gp_rank": "102",
"ab_value": 418.0,
"ab_rank": "115",
"r_value": 78.0,
"r_rank": "34",
"h_value": 113.0,
"h_rank": "87",
"avg_value": 0.2703349,
"avg_rank": 45.0,
"2b_value": 19.0,
"2b_rank": "125",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 23.0,
"hr_rank": "33",
"rbi_value": 76.0,
"rbi_rank": "33",
"tb_value": 205.0,
"tb_rank": "451",
"bb_value": 79.0,
"bb_rank": "11",
"so_value": 130.0,
"so_rank": "45",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.389662,
"obp_rank": "5",
"slg_value": 0.4904306,
"slg_rank": "19",
"ops_value": 0.8800926,
"ops_rank": 8.0,
"war_value": 2.85,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 445.0,
"k_percent": 25.8,
"bb_percent": 15.7,
"woba": 0.383,
"xwoba": 0.372,
"xba": 0.257,
"xslg": 0.472,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 53.1,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 11.3,
"whiff_percent": 28.5,
"swing_percent": 40.4
},
"components": {
"expected_quality": 1.5728,
"regression_edge": -0.3143,
"xwoba_edge": 2.0286,
"xba_edge": 0.6,
"xslg_edge": 1.5,
"barrel_edge": 1.5222,
"hard_hit_edge": 2.2,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": 0.6583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0627,
"quality_score": 0.8355,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 43,
"gp_value": 105.0,
"gp_rank": "171",
"ab_value": 435.0,
"ab_rank": "104",
"r_value": 74.0,
"r_rank": "43",
"h_value": 125.0,
"h_rank": "62",
"avg_value": 0.2873563,
"avg_rank": 14.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 21.0,
"hr_rank": "48",
"rbi_value": 58.0,
"rbi_rank": "94",
"tb_value": 212.0,
"tb_rank": "837",
"bb_value": 38.0,
"bb_rank": "139",
"so_value": 112.0,
"so_rank": "77",
"sb_value": 15.0,
"sb_rank": "53",
"obp_value": 0.3466386,
"obp_rank": "43",
"slg_value": 0.4873563,
"slg_rank": "21",
"ops_value": 0.8339949,
"ops_rank": 25.0,
"war_value": 3.4,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 409.0,
"k_percent": 23.5,
"bb_percent": 8.0,
"woba": 0.359,
"xwoba": 0.338,
"xba": 0.258,
"xslg": 0.469,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 11.6,
"whiff_percent": 24.8,
"swing_percent": 47.9
},
"components": {
"expected_quality": 1.0692,
"regression_edge": -0.6,
"xwoba_edge": 1.0571,
"xba_edge": 0.6286,
"xslg_edge": 1.4571,
"barrel_edge": 1.4111,
"hard_hit_edge": 1.4286,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": -0.0917,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"offense_factor": 1.024,
"quality_score": 0.3203,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683734",
"espn_id": 42394,
"player_name": "Andrew Vaughn",
"team": "MIL",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 148,
"gp_value": 93.0,
"gp_rank": "228",
"ab_value": 258.0,
"ab_rank": "250",
"r_value": 31.0,
"r_rank": "254",
"h_value": 81.0,
"h_rank": "183",
"avg_value": 0.3139534,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": "152",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 41.0,
"rbi_rank": "182",
"tb_value": 117.0,
"tb_rank": "1366",
"bb_value": 32.0,
"bb_rank": "183",
"so_value": 46.0,
"so_rank": "318",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3993288,
"obp_rank": "-",
"slg_value": 0.4534883,
"slg_rank": "-",
"ops_value": 0.8528171,
"ops_rank": null,
"war_value": 1.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 259.0,
"k_percent": 15.4,
"bb_percent": 10.7,
"woba": 0.376,
"xwoba": 0.334,
"xba": 0.269,
"xslg": 0.384,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 10.4,
"whiff_percent": 19.5,
"swing_percent": 38.3
},
"components": {
"expected_quality": 0.5678,
"regression_edge": -1.2,
"xwoba_edge": 0.9429,
"xba_edge": 0.9429,
"xslg_edge": 0.2429,
"barrel_edge": -0.3444,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.325,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0433,
"quality_score": 0.5769,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 9,
"gp_value": 129.0,
"gp_rank": "88",
"ab_value": 507.0,
"ab_rank": "38",
"r_value": 83.0,
"r_rank": "21",
"h_value": 128.0,
"h_rank": "50",
"avg_value": 0.2524654,
"avg_rank": 78.0,
"2b_value": 29.0,
"2b_rank": "13",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 79.0,
"rbi_rank": "26",
"tb_value": 214.0,
"tb_rank": "375",
"bb_value": 74.0,
"bb_rank": "16",
"so_value": 147.0,
"so_rank": "19",
"sb_value": 18.0,
"sb_rank": "35",
"obp_value": 0.3464837,
"obp_rank": "47",
"slg_value": 0.4220907,
"slg_rank": "68",
"ops_value": 0.7685744,
"ops_rank": 59.0,
"war_value": 5.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 512.0,
"k_percent": 25.0,
"bb_percent": 12.6,
"woba": 0.338,
"xwoba": 0.336,
"xba": 0.251,
"xslg": 0.42,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 9.0,
"whiff_percent": 22.5,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.6801,
"regression_edge": -0.0571,
"xwoba_edge": 1.0,
"xba_edge": 0.4286,
"xslg_edge": 0.7571,
"barrel_edge": 0.1667,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.6417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0551,
"quality_score": 0.7353,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 84,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 84,
"gp_value": 129.0,
"gp_rank": "88",
"ab_value": 496.0,
"ab_rank": "51",
"r_value": 70.0,
"r_rank": "52",
"h_value": 136.0,
"h_rank": "31",
"avg_value": 0.2741935,
"avg_rank": 37.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 13.0,
"hr_rank": "134",
"rbi_value": 72.0,
"rbi_rank": "43",
"tb_value": 201.0,
"tb_rank": "754",
"bb_value": 52.0,
"bb_rank": "66",
"so_value": 77.0,
"so_rank": "182",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3434704,
"obp_rank": "54",
"slg_value": 0.4052419,
"slg_rank": "91",
"ops_value": 0.7487123,
"ops_rank": 71.0,
"war_value": 2.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 499.0,
"k_percent": 13.8,
"bb_percent": 9.3,
"woba": 0.328,
"xwoba": 0.337,
"xba": 0.263,
"xslg": 0.441,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 12.6,
"whiff_percent": 20.1,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.8131,
"regression_edge": 0.2571,
"xwoba_edge": 1.0286,
"xba_edge": 0.7714,
"xslg_edge": 1.0571,
"barrel_edge": 0.3,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.1417,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 1.0233,
"quality_score": 0.3109,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 319,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 319,
"gp_value": 99.0,
"gp_rank": "197",
"ab_value": 377.0,
"ab_rank": "145",
"r_value": 59.0,
"r_rank": "103",
"h_value": 91.0,
"h_rank": "148",
"avg_value": 0.2413793,
"avg_rank": 100.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 49.0,
"rbi_rank": "142",
"tb_value": 148.0,
"tb_rank": "867",
"bb_value": 42.0,
"bb_rank": "104",
"so_value": 111.0,
"so_rank": "79",
"sb_value": 11.0,
"sb_rank": "73",
"obp_value": 0.3215962,
"obp_rank": "89",
"slg_value": 0.3925729,
"slg_rank": "102",
"ops_value": 0.7141691,
"ops_rank": 99.0,
"war_value": 0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 373.0,
"k_percent": 26.0,
"bb_percent": 9.8,
"woba": 0.313,
"xwoba": 0.315,
"xba": 0.236,
"xslg": 0.396,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 3.4,
"whiff_percent": 29.0,
"swing_percent": 45.1
},
"components": {
"expected_quality": 0.3522,
"regression_edge": 0.0571,
"xwoba_edge": 0.4,
"xba_edge": -0.0,
"xslg_edge": 0.4143,
"barrel_edge": 0.7444,
"hard_hit_edge": 0.8,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.5417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0729,
"quality_score": 0.9714,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 74,
"gp_value": 124.0,
"gp_rank": "109",
"ab_value": 392.0,
"ab_rank": "131",
"r_value": 58.0,
"r_rank": "105",
"h_value": 102.0,
"h_rank": "121",
"avg_value": 0.260204,
"avg_rank": 62.0,
"2b_value": 26.0,
"2b_rank": "38",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 55.0,
"rbi_rank": "107",
"tb_value": 161.0,
"tb_rank": "822",
"bb_value": 53.0,
"bb_rank": "60",
"so_value": 142.0,
"so_rank": "26",
"sb_value": 12.0,
"sb_rank": "64",
"obp_value": 0.3547671,
"obp_rank": "36",
"slg_value": 0.4107142,
"slg_rank": "84",
"ops_value": 0.7654813,
"ops_rank": 63.0,
"war_value": 2.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 413.0,
"k_percent": 31.4,
"bb_percent": 11.7,
"woba": 0.339,
"xwoba": 0.348,
"xba": 0.26,
"xslg": 0.437,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 51.6,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 1.8,
"whiff_percent": 36.4,
"swing_percent": 43.6
},
"components": {
"expected_quality": 1.0877,
"regression_edge": 0.2571,
"xwoba_edge": 1.3429,
"xba_edge": 0.6857,
"xslg_edge": 1.0,
"barrel_edge": 1.1667,
"hard_hit_edge": 1.9857,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": -0.375,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687401",
"player_name": "Joey Ortiz",
"offense_factor": 0.9804,
"quality_score": -0.2617,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687401",
"espn_id": 42958,
"player_name": "Joey Ortiz",
"team": "MIL",
"role": "batter",
"espn_rank": 136,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 136,
"gp_value": 116.0,
"gp_rank": "142",
"ab_value": 313.0,
"ab_rank": "203",
"r_value": 40.0,
"r_rank": "198",
"h_value": 80.0,
"h_rank": "187",
"avg_value": 0.255591,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 42.0,
"rbi_rank": "177",
"tb_value": 122.0,
"tb_rank": "1134",
"bb_value": 32.0,
"bb_rank": "183",
"so_value": 64.0,
"so_rank": "237",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.32,
"obp_rank": "-",
"slg_value": 0.3897763,
"slg_rank": "-",
"ops_value": 0.7097763,
"ops_rank": null,
"war_value": 1.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 303.0,
"k_percent": 18.1,
"bb_percent": 9.0,
"woba": 0.313,
"xwoba": 0.295,
"xba": 0.237,
"xslg": 0.34,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 5.7,
"whiff_percent": 18.6,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.2206,
"regression_edge": -0.5143,
"xwoba_edge": -0.1714,
"xba_edge": 0.0286,
"xslg_edge": -0.3857,
"barrel_edge": -0.5222,
"hard_hit_edge": -0.1286,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -1.2083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9499,
"quality_score": -0.6687,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 144,
"gp_value": 104.0,
"gp_rank": "179",
"ab_value": 295.0,
"ab_rank": "220",
"r_value": 43.0,
"r_rank": "183",
"h_value": 71.0,
"h_rank": "215",
"avg_value": 0.2406779,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 24.0,
"rbi_rank": "296",
"tb_value": 98.0,
"tb_rank": "1587",
"bb_value": 30.0,
"bb_rank": "195",
"so_value": 72.0,
"so_rank": "200",
"sb_value": 24.0,
"sb_rank": "15",
"obp_value": 0.3128834,
"obp_rank": "-",
"slg_value": 0.3322033,
"slg_rank": "-",
"ops_value": 0.6450867,
"ops_rank": null,
"war_value": 1.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 290.0,
"k_percent": 21.2,
"bb_percent": 8.8,
"woba": 0.292,
"xwoba": 0.275,
"xba": 0.222,
"xslg": 0.311,
"sweet_spot_percent": 28.5,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 27.8,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 12.5,
"whiff_percent": 21.7,
"swing_percent": 45.3
},
"components": {
"expected_quality": -0.6984,
"regression_edge": -0.4857,
"xwoba_edge": -0.7429,
"xba_edge": -0.4,
"xslg_edge": -0.8,
"barrel_edge": -0.7222,
"hard_hit_edge": -1.4143,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.7917,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | True | 46 | 0.6378 | 0.9560 | 0.9458 | 1.0541 | 0.9197 | 0.9811 | neutral | 0.2570 | 0.2490 | 30.10 | 4.90 | 26.90 | 8.60 | 38.40 | |
| Home CHC | True | 179 | 0.1510 | 1 | 0.9872 | 1.0217 | 0.9500 | 1.0003 | neutral | 0.3060 | 0.3130 | 23.80 | 6.60 | 27.10 | 7.30 | 38.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | True | None | 90 | 88.19 | 2417 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0937 | |
| Home CHC | True | None | 92 | 89.11 | 2000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0423 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9954 |
| home_runs_vs_away_pitcher | 0.9702 |
| home_pitcher_starter_only_factor | 0.9872 |
| away_pitcher_starter_only_factor | 0.9482 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.6667 |
| home_pitcher_quality_edge | -0.3301 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "592332",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 601.0,
"k_percent": 23.8,
"bb_percent": 6.6,
"woba": 0.313,
"xwoba": 0.306,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 76.4804,
"avg_hyper_speed": 94.304,
"whiff_percent": 27.1,
"swing_percent": 49.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0811,
"command_and_miss": 0.3421,
"regression_edge": 0.2,
"xwoba_edge": 0.1429,
"barrel_edge": 0.0,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.2714,
"bb_edge": 0.625,
"pitch_design_score": -0.0423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592332",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1126,
"release_spin_rate": 1999.5503,
"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.0423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3022,
"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.151,
"sample_weight": 1.0,
"run_prevention_factor": 0.9872,
"strikeout_factor": 1.0217,
"walk_factor": 0.95,
"homer_factor": 1.0003,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "CHC",
"role": "pitcher",
"espn_rank": 179,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 179,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 28.0,
"gs_rank": 6,
"qs_value": 13.0,
"qs_rank": 24,
"era_value": 4.5193,
"era_rank": 46.0,
"w_value": 8.0,
"w_rank": 58,
"l_value": 11.0,
"l_rank": 9,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 155.1,
"ip_rank": 18,
"h_value": 155.0,
"h_rank": 9,
"er_value": 78.0,
"er_rank": 9,
"hr_value": 20.0,
"hr_rank": 29,
"bb_value": 43.0,
"bb_rank": 61,
"k_value": 156.0,
"k_rank": 22,
"k_per_9_value": 9.038626,
"k_per_9_rank": 33,
"whip_value": 1.2746,
"whip_rank": 36.0,
"war_value": 0.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "701656",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 239.0,
"k_percent": 30.1,
"bb_percent": 4.9,
"woba": 0.249,
"xwoba": 0.257,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.4,
"avg_best_speed": 76.8839,
"avg_hyper_speed": 94.0052,
"whiff_percent": 26.9,
"swing_percent": 53.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8638,
"command_and_miss": 0.8221,
"regression_edge": -0.2286,
"xwoba_edge": 1.5429,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.0857,
"whiff_edge": 0.2429,
"bb_edge": 1.05,
"pitch_design_score": -0.0937
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701656",
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.195,
"release_spin_rate": 2417.1148,
"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.0937,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6693,
"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.6378,
"sample_weight": 0.956,
"run_prevention_factor": 0.9458,
"strikeout_factor": 1.0541,
"walk_factor": 0.9197,
"homer_factor": 0.9811,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701656",
"espn_id": 4917878,
"player_name": "Logan Henderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 46,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 46,
"gp_value": 14.0,
"gp_rank": 467,
"gs_value": 14.0,
"gs_rank": 140,
"qs_value": 6.0,
"qs_rank": 89,
"era_value": 2.4759,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 76.1,
"ip_rank": 162,
"h_value": 49.0,
"h_rank": 237,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 11.0,
"hr_rank": 140,
"bb_value": 14.0,
"bb_rank": 385,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 10.139738,
"k_per_9_rank": 21,
"whip_value": 0.8253,
"whip_rank": null,
"war_value": 2.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9954,
"home_runs_vs_away_pitcher": 0.9702,
"home_pitcher_starter_only_factor": 0.9872,
"away_pitcher_starter_only_factor": 0.9482,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.6667,
"home_pitcher_quality_edge": -0.3301
},
"score_before": {
"away_runs": 6.571,
"home_runs": 5.2591
},
"score_after": {
"away_runs": 6.5408,
"home_runs": 5.1022,
"home_win_probability": 0.3718
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away MIL | 6-4 | 0.600 | 5.60 | 4.70 | 9 | 2W | hot | average |
| Home CHC | 4-6 | 0.400 | 8.60 | 5.20 | 34 | 2L | hot | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIL | 87-53 | 0.621 | 172 | 1.229 | True |
| Home CHC | 78-62 | 0.557 | 132 | 0.943 | True |
| Signal | - | - | -0.286 | -0.171 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | MIL @ CHC | 9 - 5 | MIL | 4 | blowout |
| 2026-09-01 | MIL @ CHC | 9 - 4 | MIL | 5 | blowout |
| 2026-08-31 | MIL @ CHC | 3 - 17 | CHC | 14 | blowout |
| 2026-06-28 | CHC @ MIL | 4 - 3 | CHC | 1 | close |
| 2026-06-27 | CHC @ MIL | 8 - 2 | CHC | 6 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIL | - | - | 7 | - | - | - | - |
| Game target CHC | - | - | 6 | - | - | - | - |
| Player finalized MIL | 36 | 9 | 5 | 1 | 5 | 3 | 8 |
| Player finalized CHC | 36 | 9 | 5 | 2 | 6 | 4 | 8 |
| Player model fractional MIL | 34.20 | 9.67 | 5.05 | 1.19 | 4.96 | 3.66 | 7.88 |
| Player model fractional CHC | 33.72 | 8.20 | 5.16 | 1.82 | 5.65 | 3.82 | 7.45 |
| Simulation box MIL | 38 | 11 | 7 | 0 | 7 | 5 | 9 |
| Simulation box CHC | 32 | 5 | 6 | 4 | 6 | 3 | 11 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | Starter | Logan Henderson | 6 | 3 | 7 | 3 | 2 | 2.84 | 0.91 | True |
| Away MIL | Middle Reliever (High Leverage) | Aaron Ashby | 1 | 1 | 3 | 1 | 0 | 2.39 | 0.97 | True |
| Away MIL | Setup Man | Abner Uribe | 1 | 2 | 0 | 2 | 1 | 1.74 | 0.95 | True |
| Away MIL | Closer | Trevor Megill | 1 | 0 | 1 | 0 | 0 | 1.63 | 0.96 | True |
| Home CHC | Starter | Kevin Gausman | 5.20 | 5 | 7 | 6 | 4 | 4.93 | 1.31 | True |
| Home CHC | Setup Man | Colin Rea | 1.10 | 1 | 0 | 1 | 0 | 3.40 | 1.15 | True |
| Home CHC | Closer | Jacob Webb | 1 | 1 | 1 | 1 | 0 | 8.44 | 1.55 | True |
| Home CHC | Middle Reliever (High Leverage) | Trent Thornton | 1 | 0 | 1 | 1 | 0 | 7.02 | 1.73 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | MIL | batter | DH | Christian Yelich | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 2.6000 | boost | better |
| away | MIL | batter | 3B | David Hamilton | better | 10 | 7 | 3 | 8 | 2 | predicted_H | 2.3500 | boost | better |
| away | MIL | batter | C | William Contreras | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -2.1300 | deboost | worse |
| away | MIL | batter | 1B | Andrew Vaughn | better | 10 | 7 | 3 | 6 | 4 | predicted_AB | 2.0910 | boost | better |
| home | CHC | pitcher | Starter | Kevin Gausman | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| home | CHC | batter | C | Carson Kelly | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.3810 | boost | worse |
| home | CHC | batter | RF | Seiya Suzuki | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 1.3200 | boost | better |
| home | CHC | batter | 1B | Michael Busch | better | 11 | 7 | 4 | 8 | 3 | predicted_H | 1.2800 | boost | better |
| home | CHC | batter | CF | Pete Crow-Armstrong | worse | 12 | 5 | 7 | 4 | 8 | predicted_H | -1.2500 | deboost | worse |
| home | CHC | batter | DH | Michael Conforto | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.1710 | boost | worse |
| away | MIL | batter | CF | Garrett Mitchell | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -1.0400 | deboost | worse |
| away | MIL | batter | LF | Jackson Chourio | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.0200 | deboost | worse |
| away | MIL | pitcher | Starter | Logan Henderson | better | 2 | 0 | 2 | 2 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | MIL | pitcher | Middle Reliever (High Leverage) | Aaron Ashby | worse | 3 | 3 | 0 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | CHC | batter | 2B | Pedro Ramirez | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | -0.9900 | deboost | worse |
| home | CHC | batter | SS | Nico Hoerner | better | 8 | 4 | 4 | 5 | 3 | predicted_AB | -0.9850 | deboost | worse |
| away | MIL | batter | RF | Jake Bauers | worse | 11 | 6 | 5 | 5 | 6 | predicted_SO | 0.9420 | boost | worse |
| home | CHC | batter | LF | Ian Happ | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.9000 | deboost | worse |
| away | MIL | batter | 2B | Brice Turang | worse | 9 | 3 | 6 | 2 | 7 | predicted_SO | 0.8810 | boost | worse |
| away | MIL | batter | SS | Joey Ortiz | better | 9 | 6 | 3 | 5 | 4 | predicted_BB | 0.6900 | boost | better |
| home | CHC | batter | 3B | Alex Bregman | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | -0.6600 | deboost | worse |
| home | CHC | pitcher | Setup Man | Colin Rea | 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 | Logan Henderson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6378 |
| ESPN Rank | 46 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0937 |
| Avg Velo | 88.1950 |
| Avg Spin | 2417.1148 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 2.4760 |
| Season WHIP | 0.8253 |
| Role Avg IP | 5.4520 |
| Recent Avg IP | 6.4670 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"opponent": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"edges": {
"quality_edge": 0.1596,
"offense_edge": 0.1186,
"opponent_offense_edge": 0.1933,
"defense_strength": 0.183,
"opponent_defense_weakness": -0.0167,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0041,
"run_prevention": 1.0046,
"strikeout": 0.9893
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701656",
"profile": {
"available": true,
"pitcher_id": "701656",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 239.0,
"k_percent": 30.1,
"bb_percent": 4.9,
"woba": 0.249,
"xwoba": 0.257,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.4,
"avg_best_speed": 76.8839,
"avg_hyper_speed": 94.0052,
"whiff_percent": 26.9,
"swing_percent": 53.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8638,
"command_and_miss": 0.8221,
"regression_edge": -0.2286,
"xwoba_edge": 1.5429,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.0857,
"whiff_edge": 0.2429,
"bb_edge": 1.05,
"pitch_design_score": -0.0937
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701656",
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.195,
"release_spin_rate": 2417.1148,
"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.0937,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6693,
"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.6378,
"sample_weight": 0.956,
"run_prevention_factor": 0.9458,
"strikeout_factor": 1.0541,
"walk_factor": 0.9197,
"homer_factor": 0.9811,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701656",
"espn_id": 4917878,
"player_name": "Logan Henderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 46,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 46,
"gp_value": 14.0,
"gp_rank": 467,
"gs_value": 14.0,
"gs_rank": 140,
"qs_value": 6.0,
"qs_rank": 89,
"era_value": 2.4759,
"era_rank": null,
"w_value": 9.0,
"w_rank": 37,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 76.1,
"ip_rank": 162,
"h_value": 49.0,
"h_rank": 237,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 11.0,
"hr_rank": 140,
"bb_value": 14.0,
"bb_rank": 385,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 10.139738,
"k_per_9_rank": 21,
"whip_value": 0.8253,
"whip_rank": null,
"war_value": 2.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9482,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9482,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9232,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9819,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0517,
"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": 58.1,
"ER": 14,
"H": 33,
"BB": 11,
"SO": 63,
"HR": 9,
"ERA": 2.1599999999999997,
"WHIP": 0.7542857142857142,
"K9": 9.719999999999999,
"HR9": 1.3885714285714286,
"games_pitched": 10,
"quality_starts": 5,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "701656",
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.19496107158342,
"release_spin_rate": 2417.1147694148563,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.195,
"release_spin_rate": 2417.1148,
"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.0937,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6693,
"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": "701656",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.1,
"ER": 8.0,
"R": 8.0,
"H": 18.0,
"BB": 5.0,
"SO": 32.0,
"HR": 6.0,
"BF": 117.0,
"Pitches": 458.0
},
"per_game": {
"IP": 6.1,
"ER": 1.6,
"R": 1.6,
"H": 3.6,
"BB": 1.0,
"SO": 6.4,
"HR": 1.2,
"BF": 23.4,
"Pitches": 91.6
},
"rates": {
"ERA": 2.2268,
"WHIP": 0.7113,
"ER_per_IP": 0.24742,
"H_per_IP": 0.5567,
"BB_per_IP": 0.15464,
"SO_per_IP": 0.98969,
"HR_per_IP": 0.18557
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 58.1,
"ER": 14.0,
"R": 14.0,
"H": 33.0,
"BB": 11.0,
"SO": 63.0,
"HR": 9.0,
"BF": 215.0,
"Pitches": 865.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.4,
"H": 3.3,
"BB": 1.1,
"SO": 6.3,
"HR": 0.9,
"BF": 21.5,
"Pitches": 86.5
},
"rates": {
"ERA": 2.16,
"WHIP": 0.7543,
"ER_per_IP": 0.24,
"H_per_IP": 0.56571,
"BB_per_IP": 0.18857,
"SO_per_IP": 1.08,
"HR_per_IP": 0.15429
}
},
"season": {
"games": 14,
"totals": {
"IP": 76.1,
"ER": 21.0,
"R": 21.0,
"H": 49.0,
"BB": 14.0,
"SO": 86.0,
"HR": 11.0,
"BF": 286.0,
"Pitches": 1134.0
},
"per_game": {
"IP": 5.1,
"ER": 1.5,
"R": 1.5,
"H": 3.5,
"BB": 1.0,
"SO": 6.1429,
"HR": 0.7857,
"BF": 20.4286,
"Pitches": 81.0
},
"rates": {
"ERA": 2.476,
"WHIP": 0.8253,
"ER_per_IP": 0.27511,
"H_per_IP": 0.64192,
"BB_per_IP": 0.18341,
"SO_per_IP": 1.12664,
"HR_per_IP": 0.1441
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.896,
"predicted_H": 4.095,
"predicted_BB": 1.35,
"predicted_SO": 6.132,
"predicted_HR": 0.969,
"predicted_ERA": 2.8389,
"predicted_WHIP": 0.9056
}
}{
"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": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.896,
"final": 2.8664,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.095,
"final": 3.59,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.35,
"final": 1.6498,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.132,
"final": 6.5323,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 3.0,
"form": 0.969,
"final": 1.9057,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8389,
"final": 2.8389,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9056,
"final": 0.9056,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7852 |
| ESPN Rank | 167 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 3.1558 |
| Season WHIP | 1.3377 |
| Role Avg IP | 1.1670 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"opponent": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"edges": {
"quality_edge": 0.1596,
"offense_edge": 0.1186,
"opponent_offense_edge": 0.1933,
"defense_strength": 0.183,
"opponent_defense_weakness": -0.0167,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0041,
"run_prevention": 1.0046,
"strikeout": 0.9893
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 302.0,
"k_percent": 31.5,
"bb_percent": 11.1,
"woba": 0.288,
"xwoba": 0.262,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 39.2,
"avg_best_speed": 75.5356,
"avg_hyper_speed": 94.3609,
"whiff_percent": 32.0,
"swing_percent": 40.7
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8715,
"command_and_miss": 0.8571,
"regression_edge": 0.7429,
"xwoba_edge": 1.4,
"barrel_edge": 0.5556,
"hard_hit_edge": -0.2,
"whiff_edge": 0.9714,
"bb_edge": -0.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.7852,
"sample_weight": 1.0,
"run_prevention_factor": 0.9333,
"strikeout_factor": 1.0937,
"walk_factor": 1.04,
"homer_factor": 0.9216,
"woba_minus_xwoba": 0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 167,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 167,
"gp_value": 65.0,
"gp_rank": 8,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.1558,
"era_rank": null,
"w_value": 13.0,
"w_rank": 9,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 14.0,
"hld_rank": 40,
"ip_value": 77.0,
"ip_rank": 160,
"h_value": 66.0,
"h_rank": 165,
"er_value": 27.0,
"er_rank": 205,
"hr_value": 6.0,
"hr_rank": 261,
"bb_value": 37.0,
"bb_rank": 96,
"k_value": 105.0,
"k_rank": 84,
"k_per_9_value": 12.272728,
"k_per_9_rank": 14,
"whip_value": 1.3376,
"whip_rank": null,
"war_value": 1.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9333,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9333,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.04,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9216,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0937,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.1,
"ER": 1,
"H": 6,
"BB": 4,
"SO": 11,
"HR": 1,
"ERA": 0.7941176470588236,
"WHIP": 0.8823529411764707,
"K9": 8.73529411764706,
"HR9": 0.7941176470588236,
"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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.477,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7558,
"prior_weight": 0.2442
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676879",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 1.8,
"WHIP": 0.6,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 4.0,
"SO": 11.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 194.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.4,
"SO": 1.1,
"HR": 0.1,
"BF": 4.3,
"Pitches": 19.4
},
"rates": {
"ERA": 0.7941,
"WHIP": 0.8824,
"ER_per_IP": 0.08824,
"H_per_IP": 0.52941,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.97059,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 65,
"totals": {
"IP": 77.0,
"ER": 27.0,
"R": 32.0,
"H": 66.0,
"BB": 37.0,
"SO": 105.0,
"HR": 6.0,
"BF": 333.0,
"Pitches": 1370.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4154,
"R": 0.4923,
"H": 1.0154,
"BB": 0.5692,
"SO": 1.6154,
"HR": 0.0923,
"BF": 5.1231,
"Pitches": 21.0769
},
"rates": {
"ERA": 3.1558,
"WHIP": 1.3377,
"ER_per_IP": 0.35065,
"H_per_IP": 0.85714,
"BB_per_IP": 0.48052,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.07792
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.279,
"predicted_H": 0.676,
"predicted_BB": 0.341,
"predicted_SO": 1.013,
"predicted_HR": 0.146,
"predicted_ERA": 2.3929,
"predicted_WHIP": 0.9678
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4532,
"form_weight": 0.5468,
"form_reliability": 0.7558,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.477,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7558,
"prior_weight": 0.2442
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.279,
"final": 0.1526,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.676,
"final": 0.3697,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.341,
"final": 0.1865,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.013,
"final": 1.9135,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.146,
"final": 0.0798,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3929,
"final": 2.3929,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9678,
"final": 0.9678,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Abner Uribe |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5930 |
| ESPN Rank | 66 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2665 |
| Avg Velo | 94.6261 |
| Avg Spin | 2392.5364 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.9669 |
| Season WHIP | 0.9934 |
| Role Avg IP | 0.9870 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"opponent": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"edges": {
"quality_edge": 0.1596,
"offense_edge": 0.1186,
"opponent_offense_edge": 0.1933,
"defense_strength": 0.183,
"opponent_defense_weakness": -0.0167,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0041,
"run_prevention": 1.0046,
"strikeout": 0.9893
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682842",
"profile": {
"available": true,
"pitcher_id": "682842",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 186.0,
"k_percent": 25.9,
"bb_percent": 9.1,
"woba": 0.231,
"xwoba": 0.258,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 32.3,
"avg_best_speed": 76.3564,
"avg_hyper_speed": 93.2335,
"whiff_percent": 26.5,
"swing_percent": 43.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.3734,
"command_and_miss": 0.3221,
"regression_edge": -0.7714,
"xwoba_edge": 1.5143,
"barrel_edge": 1.2667,
"hard_hit_edge": 0.7857,
"whiff_edge": 0.1857,
"bb_edge": 0.0,
"pitch_design_score": 0.2665
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682842",
"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": 94.62614359358045,
"release_spin_rate": 2392.5363839475144,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94.62614359358045,
"release_spin_rate": 2392.5363839475144,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6261,
"release_spin_rate": 2392.5364,
"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.2665,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9032,
"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.593,
"sample_weight": 0.744,
"run_prevention_factor": 0.9496,
"strikeout_factor": 1.0225,
"walk_factor": 1.0,
"homer_factor": 0.8674,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 66,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 66,
"gp_value": 51.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.9668,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 6.0,
"sv_rank": 37,
"hld_value": 20.0,
"hld_rank": 15,
"ip_value": 50.1,
"ip_rank": 286,
"h_value": 32.0,
"h_rank": 383,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 51.0,
"k_rank": 273,
"k_per_9_value": 9.119205,
"k_per_9_rank": 25,
"whip_value": 0.9933,
"whip_rank": null,
"war_value": 2.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9625,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9625,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9013,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0167,
"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": 0,
"H": 5,
"BB": 3,
"SO": 12,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8275862068965518,
"K9": 11.172413793103448,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "682842",
"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": 94.62614359358045,
"release_spin_rate": 2392.5363839475144,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94.62614359358045,
"release_spin_rate": 2392.5363839475144,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6261,
"release_spin_rate": 2392.5364,
"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.2665,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9032,
"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.117,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6692,
"prior_weight": 0.3308
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682842",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 18.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.6,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 3.0,
"SO": 12.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.3,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8276,
"ER_per_IP": 0.0,
"H_per_IP": 0.51724,
"BB_per_IP": 0.31034,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.0
}
},
"season": {
"games": 51,
"totals": {
"IP": 50.1,
"ER": 11.0,
"R": 11.0,
"H": 32.0,
"BB": 18.0,
"SO": 51.0,
"HR": 3.0,
"BF": 197.0,
"Pitches": 784.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2157,
"R": 0.2157,
"H": 0.6275,
"BB": 0.3529,
"SO": 1.0,
"HR": 0.0588,
"BF": 3.8627,
"Pitches": 15.3725
},
"rates": {
"ERA": 1.9669,
"WHIP": 0.9934,
"ER_per_IP": 0.21854,
"H_per_IP": 0.63576,
"BB_per_IP": 0.35762,
"SO_per_IP": 1.01325,
"HR_per_IP": 0.0596
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.194,
"predicted_H": 0.528,
"predicted_BB": 0.424,
"predicted_SO": 0.978,
"predicted_HR": 0.056,
"predicted_ERA": 1.7446,
"predicted_WHIP": 0.9519
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4898,
"form_weight": 0.5102,
"form_reliability": 0.6692,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.117,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6692,
"prior_weight": 0.3308
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.194,
"final": 1.0785,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.528,
"final": 1.2489,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.424,
"final": 0.7061,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.978,
"final": 0.499,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.056,
"final": 0.5183,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7446,
"final": 1.7446,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9519,
"final": 0.9519,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trevor Megill |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5410 |
| ESPN Rank | 70 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2620 |
| Avg Velo | 94.5471 |
| Avg Spin | 2503.6529 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.5187 |
| Season WHIP | 0.8062 |
| Role Avg IP | 1.0060 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"opponent": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"edges": {
"quality_edge": 0.1596,
"offense_edge": 0.1186,
"opponent_offense_edge": 0.1933,
"defense_strength": 0.183,
"opponent_defense_weakness": -0.0167,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0041,
"run_prevention": 1.0046,
"strikeout": 0.9893
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 181.0,
"k_percent": 28.5,
"bb_percent": 6.8,
"woba": 0.191,
"xwoba": 0.247,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 41.4,
"avg_best_speed": 81.2029,
"avg_hyper_speed": 94.3324,
"whiff_percent": 32.3,
"swing_percent": 53.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.1673,
"command_and_miss": 0.8943,
"regression_edge": -1.6,
"xwoba_edge": 1.8286,
"barrel_edge": 0.4444,
"hard_hit_edge": -0.5143,
"whiff_edge": 1.0143,
"bb_edge": 0.575,
"pitch_design_score": 0.262
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656730",
"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": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5471,
"release_spin_rate": 2503.6529,
"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.262,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8716,
"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.541,
"sample_weight": 0.724,
"run_prevention_factor": 0.954,
"strikeout_factor": 1.0567,
"walk_factor": 0.9667,
"homer_factor": 0.9494,
"woba_minus_xwoba": -0.056,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 70,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 70,
"gp_value": 54.0,
"gp_rank": 70,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.1937,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 25.0,
"sv_rank": 11,
"hld_value": 7.0,
"hld_rank": 125,
"ip_value": 53.1,
"ip_rank": 269,
"h_value": 31.0,
"h_rank": 393,
"er_value": 13.0,
"er_rank": 451,
"hr_value": 0.0,
"hr_rank": 733,
"bb_value": 14.0,
"bb_rank": 385,
"k_value": 59.0,
"k_rank": 221,
"k_per_9_value": 9.95625,
"k_per_9_rank": 22,
"whip_value": 0.8437,
"whip_rank": null,
"war_value": 1.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9667,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9667,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9759,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9634,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0411,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 0,
"H": 3,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5454545454545454,
"K9": 7.363636363636363,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "656730",
"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": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94.54710376864173,
"release_spin_rate": 2503.6529055260044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5471,
"release_spin_rate": 2503.6529,
"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.262,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8716,
"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.72,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6819,
"prior_weight": 0.3181
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656730",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 61.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 12.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.5625,
"BB_per_IP": 0.375,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 1.0,
"H": 3.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 118.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.1,
"H": 0.3,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.9,
"Pitches": 11.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5455,
"ER_per_IP": 0.0,
"H_per_IP": 0.27273,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"season": {
"games": 53,
"totals": {
"IP": 53.1,
"ER": 9.0,
"R": 11.0,
"H": 29.0,
"BB": 14.0,
"SO": 59.0,
"HR": 0.0,
"BF": 202.0,
"Pitches": 736.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1698,
"R": 0.2075,
"H": 0.5472,
"BB": 0.2642,
"SO": 1.1132,
"HR": 0.0,
"BF": 3.8113,
"Pitches": 13.8868
},
"rates": {
"ERA": 1.5187,
"WHIP": 0.8062,
"ER_per_IP": 0.16875,
"H_per_IP": 0.54375,
"BB_per_IP": 0.2625,
"SO_per_IP": 1.10625,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.181,
"predicted_H": 0.621,
"predicted_BB": 0.334,
"predicted_SO": 0.933,
"predicted_HR": 0.047,
"predicted_ERA": 1.6316,
"predicted_WHIP": 0.9552
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4844,
"form_weight": 0.5156,
"form_reliability": 0.6819,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.72,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6819,
"prior_weight": 0.3181
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.181,
"final": 0.0933,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.621,
"final": 0.3202,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.334,
"final": 0.1722,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.933,
"final": 0.9655,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.047,
"final": 0.0242,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6316,
"final": 1.6316,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9552,
"final": 0.9552,
"source": "form_only"
}
}
}{
"available": false,
"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.140 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.380 | 4.000 | 3.000 | Hitting_AB | 3.563 | 4.000 | 0.437 | 0.000 |
| predicted_AVG | 0.269 | 0.250 | 0.333 | Hitting_AVG | 0.273 | 0.000 | -0.023 | 0.250 |
| predicted_BB | 0.628 | 1.000 | 1.000 | Hitting_BB | 0.669 | 1.000 | 0.331 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.909 | 1.000 | 1.000 | Hitting_H | 0.972 | 0.000 | 0.028 | 1.000 |
| predicted_HR | 0.182 | 0.000 | 0.000 | Hitting_HR | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_OBP | 0.384 | 0.400 | 0.500 | Hitting_OBP | 0.389 | 0.200 | 0.011 | 0.200 |
| predicted_R | 0.628 | 1.000 | 1.000 | Hitting_R | 0.692 | 0.000 | 0.308 | 1.000 |
| predicted_RBI | 0.612 | 0.000 | 0.000 | Hitting_RBI | 0.677 | 0.000 | -0.677 | 0.000 |
| predicted_SLG | 0.482 | 0.250 | 0.333 | Hitting_SLG | 0.497 | 0.000 | -0.247 | 0.250 |
| predicted_SO | 1.058 | 2.000 | 1.000 | Hitting_SO | 1.086 | 2.000 | 0.914 | 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_SO: 1.0580 -> 2.0000 (boost 0.9420, worse) |
| Biggest Deboost | predicted_RBI: 0.6120 -> 0.0000 (deboost -0.6120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 2 | 6 | 1 | 7 | predicted_BB: 0.6280 -> 0.7142 (boost 0.0862, better) | predicted_R: 0.6280 -> 0.5418 (deboost -0.0862, worse) | Final model input calibrated with local 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.4367 -> 0.4461 (boost 0.0094, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5768 -> 1.0000 (boost 0.4232, better) | predicted_AB: 3.3285 -> 3.0000 (deboost -0.3285, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.254 HR/AB=0.048 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5633 -> 1.0000 (boost 0.4367, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 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 | 3 | 2 | 1 | 2 | 1 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AVG: 0.2578 -> 0.2450 (deboost -0.0128, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2450 -> 0.2578 (boost 0.0128, better) | predicted_SLG: 0.4520 -> 0.4461 (deboost -0.0059, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.14,
"predicted_3B": 0.017,
"predicted_AB": 3.38,
"predicted_AVG": 0.269,
"predicted_BB": 0.628,
"predicted_H": 0.909,
"predicted_HR": 0.182,
"predicted_OBP": 0.384,
"predicted_R": 0.628,
"predicted_RBI": 0.612,
"predicted_SLG": 0.482,
"predicted_SO": 1.058
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1162,
"predicted_3B": 0.014,
"predicted_AB": 3.3285,
"predicted_AVG": 0.2518,
"predicted_BB": 0.7142,
"predicted_H": 0.8388,
"predicted_HBP": 0.081,
"predicted_HR": 0.1577,
"predicted_OBP": 0.3885,
"predicted_R": 0.5418,
"predicted_RBI": 0.5548,
"predicted_SLG": 0.4367,
"predicted_SO": 1.1251
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1162,
"delta": -0.0238,
"percent_delta": -0.17,
"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.38,
"after": 3.3285,
"delta": -0.0515,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2518,
"delta": -0.0172,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.628,
"after": 0.7142,
"delta": 0.0862,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.909,
"after": 0.8388,
"delta": -0.0702,
"percent_delta": -0.0772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.182,
"after": 0.1577,
"delta": -0.0243,
"percent_delta": -0.1335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.384,
"after": 0.3885,
"delta": 0.0045,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.628,
"after": 0.5418,
"delta": -0.0862,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.612,
"after": 0.5548,
"delta": -0.0572,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.482,
"after": 0.4367,
"delta": -0.0453,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.058,
"after": 1.1251,
"delta": 0.0671,
"percent_delta": 0.0634,
"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_BB",
"before": 0.628,
"after": 0.7142,
"delta": 0.0862,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.628,
"after": 0.5418,
"delta": -0.0862,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1162,
"predicted_3B": 0.014,
"predicted_AB": 3.3285,
"predicted_AVG": 0.2578,
"predicted_BB": 0.721,
"predicted_H": 0.858,
"predicted_HBP": 0.081,
"predicted_HR": 0.1609,
"predicted_OBP": 0.3899,
"predicted_R": 0.5633,
"predicted_RBI": 0.5768,
"predicted_SLG": 0.4461,
"predicted_SO": 1.1144
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1162,
"after": 0.1162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3285,
"after": 3.3285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2518,
"after": 0.2578,
"delta": 0.006,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7142,
"after": 0.721,
"delta": 0.0068,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8388,
"after": 0.858,
"delta": 0.0192,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1577,
"after": 0.1609,
"delta": 0.0032,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3885,
"after": 0.3899,
"delta": 0.0014,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5418,
"after": 0.5633,
"delta": 0.0215,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5548,
"after": 0.5768,
"delta": 0.022,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4367,
"after": 0.4461,
"delta": 0.0094,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1251,
"after": 1.1144,
"delta": -0.0107,
"percent_delta": -0.0095,
"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.4367,
"after": 0.4461,
"delta": 0.0094,
"percent_delta": 0.0215,
"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.38), rates preserved: AVG=0.254 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1162,
"after": 0.0,
"delta": -0.1162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3285,
"after": 3.0,
"delta": -0.3285,
"percent_delta": -0.0987,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.721,
"after": 1.0,
"delta": 0.279,
"percent_delta": 0.387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.858,
"after": 1.0,
"delta": 0.142,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1609,
"after": 0.0,
"delta": -0.1609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5768,
"after": 1.0,
"delta": 0.4232,
"percent_delta": 0.7337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1144,
"after": 1.0,
"delta": -0.1144,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5768,
"after": 1.0,
"delta": 0.4232,
"percent_delta": 0.7337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3285,
"after": 3.0,
"delta": -0.3285,
"percent_delta": -0.0987,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5633,
"after": 1.0,
"delta": 0.4367,
"percent_delta": 0.7753,
"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.5633,
"after": 1.0,
"delta": 0.4367,
"percent_delta": 0.7753,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.245,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.385,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.452,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2578,
"after": 0.245,
"delta": -0.0128,
"percent_delta": -0.0497,
"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.3899,
"after": 0.385,
"delta": -0.0049,
"percent_delta": -0.0126,
"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_SLG",
"before": 0.4461,
"after": 0.452,
"delta": 0.0059,
"percent_delta": 0.0132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2578,
"after": 0.245,
"delta": -0.0128,
"percent_delta": -0.0497,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2578,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3899,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4461,
"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.245,
"after": 0.2578,
"delta": 0.0128,
"percent_delta": 0.0521,
"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.385,
"after": 0.3899,
"delta": 0.0049,
"percent_delta": 0.0128,
"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.452,
"after": 0.4461,
"delta": -0.0059,
"percent_delta": -0.0129,
"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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2578,
"delta": 0.0128,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4461,
"delta": -0.0059,
"percent_delta": -0.0129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.38,
"after": 4.0,
"delta": 0.62,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2578,
"delta": -0.0112,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.628,
"after": 1.0,
"delta": 0.372,
"percent_delta": 0.5924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.909,
"after": 1.0,
"delta": 0.091,
"percent_delta": 0.1001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.384,
"after": 0.3899,
"delta": 0.0059,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.628,
"after": 1.0,
"delta": 0.372,
"percent_delta": 0.5924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.612,
"after": 0.0,
"delta": -0.612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.482,
"after": 0.4461,
"delta": -0.0359,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.058,
"after": 2.0,
"delta": 0.942,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.058,
"after": 2.0,
"delta": 0.942,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.612,
"after": 0.0,
"delta": -0.612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.380 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.628 | - |
| predicted_H | 0.909 | - |
| predicted_HR | 0.182 | - |
| predicted_OBP | 0.384 | - |
| predicted_R | 0.628 | - |
| predicted_RBI | 0.612 | - |
| predicted_SLG | 0.482 | - |
| predicted_SO | 1.058 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | -0.024 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.329 | -0.051 |
| predicted_AVG | 0.252 | -0.017 |
| predicted_BB | 0.714 | 0.086 |
| predicted_H | 0.839 | -0.070 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.158 | -0.024 |
| predicted_OBP | 0.389 | 0.005 |
| predicted_R | 0.542 | -0.086 |
| predicted_RBI | 0.555 | -0.057 |
| predicted_SLG | 0.437 | -0.045 |
| predicted_SO | 1.125 | 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.116 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.329 | 0.000 |
| predicted_AVG | 0.258 | 0.006 |
| predicted_BB | 0.721 | 0.007 |
| predicted_H | 0.858 | 0.019 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.161 | 0.003 |
| predicted_OBP | 0.390 | 0.001 |
| predicted_R | 0.563 | 0.022 |
| predicted_RBI | 0.577 | 0.022 |
| predicted_SLG | 0.446 | 0.009 |
| predicted_SO | 1.114 | -0.011 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.254 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.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 | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.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.116 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.329 |
| predicted_AVG | 0.245 | -0.013 |
| predicted_BB | 1.000 | 0.279 |
| predicted_H | 1.000 | 0.142 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.385 | -0.005 |
| predicted_R | 1.000 | 0.437 |
| predicted_RBI | 1.000 | 0.423 |
| predicted_SLG | 0.452 | 0.006 |
| predicted_SO | 1.000 | -0.114 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 8.000 | 0.1333 | 0.4091 | 0.1333 | 0.1333 | 0.0000 | 0.0667 | 0.4000 | 0.5333 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 11.000 | 13.000 | 0.2000 | 0.4286 | 0.3000 | 0.2000 | 0.0333 | 0.1333 | 0.3667 | 0.4333 |
| season | 0.60 | 121 | - | 409.000 | 110.000 | 17.000 | 2.000 | 22.000 | 74.000 | 76.000 | 76.000 | 128.000 | 0.2689 | 0.3870 | 0.4817 | 0.2690 | 0.0538 | 0.1809 | 0.1858 | 0.3130 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.2610 |
| predicted_AVG | 0.2292 |
| predicted_BB | 0.8270 |
| predicted_H | 0.7470 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.3943 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.3775 |
| predicted_SO | 1.2130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0850 | 0.1162 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 3.3800 | 3.2610 | 3.3285 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2292 | 0.2518 | model_form_blend |
| predicted_BB | 0.6280 | 0.8270 | 0.7142 | model_form_blend |
| predicted_H | 0.9090 | 0.7470 | 0.8388 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.1820 | 0.1260 | 0.1577 | model_form_blend |
| predicted_OBP | 0.3840 | 0.3943 | 0.3885 | model_form_blend |
| predicted_R | 0.6280 | 0.4290 | 0.5418 | model_form_blend |
| predicted_RBI | 0.6120 | 0.4800 | 0.5548 | model_form_blend |
| predicted_SLG | 0.4820 | 0.3775 | 0.4367 | model_form_blend |
| predicted_SO | 1.0580 | 1.2130 | 1.1251 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 465 |
| Season rows before report date | 465 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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 | RF-1B |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 15.7 |
| sl_woba | 0.383 |
| sl_xwoba | 0.372 |
| sl_xba | 0.257 |
| sl_xslg | 0.472 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 53.1 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 40.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.233 | 0.000 | 0.000 | Hitting_2B | 0.261 | 1.000 | -0.261 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 6.020 | 5.000 | 6.000 | Hitting_AB | 4.247 | 6.000 | 0.753 | -1.000 |
| predicted_AVG | 0.294 | 0.200 | 0.167 | Hitting_AVG | 0.290 | 0.667 | -0.090 | -0.467 |
| predicted_BB | 0.369 | 0.000 | 0.000 | Hitting_BB | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 1.770 | 1.000 | 1.000 | Hitting_H | 1.231 | 4.000 | -0.231 | -3.000 |
| predicted_HR | 0.350 | 0.000 | 1.000 | Hitting_HR | 0.186 | 1.000 | -0.186 | -1.000 |
| predicted_OBP | 0.359 | 0.200 | 0.167 | Hitting_OBP | 0.351 | 0.667 | -0.151 | -0.467 |
| predicted_R | 0.718 | 1.000 | 1.000 | Hitting_R | 0.751 | 2.000 | 0.249 | -1.000 |
| predicted_RBI | 0.730 | 0.000 | 1.000 | Hitting_RBI | 0.580 | 1.000 | -0.580 | -1.000 |
| predicted_SLG | 0.537 | 0.200 | 0.667 | Hitting_SLG | 0.483 | 1.333 | -0.283 | -1.133 |
| predicted_SO | 1.087 | 1.000 | 1.000 | Hitting_SO | 1.149 | 0.000 | -0.149 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.7180 -> 1.0000 (boost 0.2820, better) |
| Biggest Deboost | predicted_AB: 6.0200 -> 5.0000 (deboost -1.0200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 3 | 3 | predicted_R: 0.7180 -> 0.7708 (boost 0.0528, better) | predicted_AB: 6.0200 -> 5.2792 (deboost -0.7408, worse) | Final model input calibrated with local 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.5490 -> 0.5381 (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 | 3 | 3 | 3 | 3 | predicted_AB: 5.2792 -> 6.0000 (boost 0.7208, better) | predicted_BB: 0.3441 -> 0.0000 (deboost -0.3441, worse) | AB rounded to 6 (raw=6.02), rates preserved: AVG=0.271 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8014 -> 1.0000 (boost 0.1986, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 2.0000 -> 1.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_H: 1.0000 -> 2.0000 (boost 1.0000, 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 5.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.4800 -> 0.5381 (boost 0.0581, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.233,
"predicted_3B": 0.0,
"predicted_AB": 6.02,
"predicted_AVG": 0.294,
"predicted_BB": 0.369,
"predicted_H": 1.77,
"predicted_HR": 0.35,
"predicted_OBP": 0.359,
"predicted_R": 0.718,
"predicted_RBI": 0.73,
"predicted_SLG": 0.537,
"predicted_SO": 1.087
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2421,
"predicted_3B": 0.0004,
"predicted_AB": 5.2792,
"predicted_AVG": 0.3045,
"predicted_BB": 0.3409,
"predicted_H": 1.597,
"predicted_HBP": 0.014,
"predicted_HR": 0.315,
"predicted_OBP": 0.3617,
"predicted_R": 0.7708,
"predicted_RBI": 0.6772,
"predicted_SLG": 0.549,
"predicted_SO": 1.0533
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2421,
"delta": 0.0091,
"percent_delta": 0.0391,
"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": 6.02,
"after": 5.2792,
"delta": -0.7408,
"percent_delta": -0.1231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.3045,
"delta": 0.0105,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.369,
"after": 0.3409,
"delta": -0.0281,
"percent_delta": -0.0762,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.77,
"after": 1.597,
"delta": -0.173,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.35,
"after": 0.315,
"delta": -0.035,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3617,
"delta": 0.0027,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 0.7708,
"delta": 0.0528,
"percent_delta": 0.0735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.6772,
"delta": -0.0528,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.549,
"delta": 0.012,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.0533,
"delta": -0.0337,
"percent_delta": -0.031,
"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_R",
"before": 0.718,
"after": 0.7708,
"delta": 0.0528,
"percent_delta": 0.0735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.02,
"after": 5.2792,
"delta": -0.7408,
"percent_delta": -0.1231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 103
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2421,
"predicted_3B": 0.0004,
"predicted_AB": 5.2792,
"predicted_AVG": 0.3094,
"predicted_BB": 0.3441,
"predicted_H": 1.6336,
"predicted_HBP": 0.014,
"predicted_HR": 0.3215,
"predicted_OBP": 0.3517,
"predicted_R": 0.8014,
"predicted_RBI": 0.7041,
"predicted_SLG": 0.5381,
"predicted_SO": 1.0433
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2421,
"after": 0.2421,
"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": 5.2792,
"after": 5.2792,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3045,
"after": 0.3094,
"delta": 0.0049,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3409,
"after": 0.3441,
"delta": 0.0032,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.597,
"after": 1.6336,
"delta": 0.0366,
"percent_delta": 0.0229,
"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.315,
"after": 0.3215,
"delta": 0.0065,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3617,
"after": 0.3517,
"delta": -0.01,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7708,
"after": 0.8014,
"delta": 0.0306,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6772,
"after": 0.7041,
"delta": 0.0269,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.549,
"after": 0.5381,
"delta": -0.0109,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0533,
"after": 1.0433,
"delta": -0.01,
"percent_delta": -0.0095,
"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.549,
"after": 0.5381,
"delta": -0.0109,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.02), rates preserved: AVG=0.271 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 2.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.2421,
"after": 0.0,
"delta": -0.2421,
"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": 5.2792,
"after": 6.0,
"delta": 0.7208,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3441,
"after": 0.0,
"delta": -0.3441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6336,
"after": 2.0,
"delta": 0.3664,
"percent_delta": 0.2243,
"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.3215,
"after": 0.0,
"delta": -0.3215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7041,
"after": 1.0,
"delta": 0.2959,
"percent_delta": 0.4203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0433,
"after": 1.0,
"delta": -0.0433,
"percent_delta": -0.0415,
"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": 5.2792,
"after": 6.0,
"delta": 0.7208,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3441,
"after": 0.0,
"delta": -0.3441,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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_R",
"before": 0.8014,
"after": 1.0,
"delta": 0.1986,
"percent_delta": 0.2478,
"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.8014,
"after": 1.0,
"delta": 0.1986,
"percent_delta": 0.2478,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 6.0,
"predicted_AVG": 0.271,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.316,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.48,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3094,
"after": 0.271,
"delta": -0.0384,
"percent_delta": -0.1241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_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.3517,
"after": 0.316,
"delta": -0.0357,
"percent_delta": -0.1015,
"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.5381,
"after": 0.48,
"delta": -0.0581,
"percent_delta": -0.108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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_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": 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": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "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": 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": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"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.3094,
"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.3517,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5381,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.271,
"after": 0.3094,
"delta": 0.0384,
"percent_delta": 0.1418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3517,
"delta": 0.0357,
"percent_delta": 0.113,
"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.48,
"after": 0.5381,
"delta": 0.0581,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.48,
"after": 0.5381,
"delta": 0.0581,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.02,
"after": 5.0,
"delta": -1.02,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.3094,
"delta": 0.0154,
"percent_delta": 0.0524,
"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.77,
"after": 1.0,
"delta": -0.77,
"percent_delta": -0.435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3517,
"delta": -0.0073,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 1.0,
"delta": 0.282,
"percent_delta": 0.3928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.5381,
"delta": 0.0011,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.0,
"delta": -0.087,
"percent_delta": -0.08,
"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_R",
"before": 0.718,
"after": 1.0,
"delta": 0.282,
"percent_delta": 0.3928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.02,
"after": 5.0,
"delta": -1.02,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 6.020 | - |
| predicted_AVG | 0.294 | - |
| predicted_BB | 0.369 | - |
| predicted_H | 1.770 | - |
| predicted_HR | 0.350 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.718 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.537 | - |
| predicted_SO | 1.087 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.242 | 0.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.279 | -0.741 |
| predicted_AVG | 0.304 | 0.011 |
| predicted_BB | 0.341 | -0.028 |
| predicted_H | 1.597 | -0.173 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.315 | -0.035 |
| predicted_OBP | 0.362 | 0.003 |
| predicted_R | 0.771 | 0.053 |
| predicted_RBI | 0.677 | -0.053 |
| predicted_SLG | 0.549 | 0.012 |
| predicted_SO | 1.053 | -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.242 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.279 | 0.000 |
| predicted_AVG | 0.309 | 0.005 |
| predicted_BB | 0.344 | 0.003 |
| predicted_H | 1.634 | 0.037 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.322 | 0.007 |
| predicted_OBP | 0.352 | -0.010 |
| predicted_R | 0.801 | 0.031 |
| predicted_RBI | 0.704 | 0.027 |
| predicted_SLG | 0.538 | -0.011 |
| predicted_SO | 1.043 | -0.010 |
AB rounded to 6 (raw=6.02), rates preserved: AVG=0.271 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 2.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 | 2.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 | -1.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.242 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 6.000 | 0.721 |
| predicted_AVG | 0.271 | -0.038 |
| predicted_BB | 0.000 | -0.344 |
| predicted_H | 2.000 | 0.366 |
| predicted_HR | 0.000 | -0.322 |
| predicted_OBP | 0.316 | -0.036 |
| predicted_R | 1.000 | 0.199 |
| predicted_RBI | 1.000 | 0.296 |
| predicted_SLG | 0.480 | -0.058 |
| predicted_SO | 1.000 | -0.043 |
Attached 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 | -1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 9.000 | 2.000 | 0.000 | 2.000 | 3.000 | 6.000 | 1.000 | 5.000 | 0.3913 | 0.4167 | 0.7391 | 0.3913 | 0.0870 | 0.1304 | 0.0435 | 0.2174 |
| last_10 | 0.20 | 10 | - | 46.000 | 16.000 | 2.000 | 0.000 | 4.000 | 8.000 | 10.000 | 2.000 | 8.000 | 0.3478 | 0.3750 | 0.6522 | 0.3478 | 0.0870 | 0.1739 | 0.0435 | 0.1739 |
| season | 0.60 | 103 | - | 429.000 | 125.000 | 24.000 | 0.000 | 21.000 | 58.000 | 74.000 | 38.000 | 112.000 | 0.2914 | 0.3511 | 0.4942 | 0.2914 | 0.0490 | 0.1352 | 0.0886 | 0.2611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2540 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.3070 |
| predicted_AVG | 0.3182 |
| predicted_BB | 0.3040 |
| predicted_H | 1.3700 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.2690 |
| predicted_OBP | 0.3652 |
| predicted_R | 0.8400 |
| predicted_RBI | 0.6080 |
| predicted_SLG | 0.5647 |
| predicted_SO | 1.0090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.2540 | 0.2421 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 6.0200 | 4.3070 | 5.2792 | model_form_blend |
| predicted_AVG | 0.2940 | 0.3182 | 0.3045 | model_form_blend |
| predicted_BB | 0.3690 | 0.3040 | 0.3409 | model_form_blend |
| predicted_H | 1.7700 | 1.3700 | 1.5970 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.3500 | 0.2690 | 0.3150 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3652 | 0.3617 | model_form_blend |
| predicted_R | 0.7180 | 0.8400 | 0.7708 | model_form_blend |
| predicted_RBI | 0.7300 | 0.6080 | 0.6772 | model_form_blend |
| predicted_SLG | 0.5370 | 0.5647 | 0.5490 | model_form_blend |
| predicted_SO | 1.0870 | 1.0090 | 1.0533 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 429 |
| Season rows before report date | 429 |
| Report year | 2026 |
| Profile rows used | 103 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 6 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 8 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.359 |
| sl_xwoba | 0.338 |
| sl_xba | 0.258 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 47.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.193 | 1.000 | 0.000 | Hitting_2B | 0.223 | 0.000 | 0.777 | 1.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 2.909 | 5.000 | 3.000 | Hitting_AB | 3.234 | 3.000 | 1.766 | 2.000 |
| predicted_AVG | 0.357 | 0.200 | 0.333 | Hitting_AVG | 0.320 | 0.667 | -0.120 | -0.467 |
| predicted_BB | 0.330 | 0.000 | 0.000 | Hitting_BB | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 1.000 | 1.000 | Hitting_H | 1.036 | 2.000 | -0.036 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.393 | 0.200 | 0.333 | Hitting_OBP | 0.407 | 0.667 | -0.207 | -0.467 |
| predicted_R | 0.352 | 1.000 | 0.000 | Hitting_R | 0.460 | 1.000 | 0.540 | 0.000 |
| predicted_RBI | 0.470 | 2.000 | 1.000 | Hitting_RBI | 0.504 | 1.000 | 1.496 | 1.000 |
| predicted_SLG | 0.443 | 0.400 | 0.333 | Hitting_SLG | 0.486 | 0.667 | -0.086 | -0.267 |
| predicted_SO | 0.523 | 2.000 | 1.000 | Hitting_SO | 0.568 | 1.000 | 1.432 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 2.9090 -> 5.0000 (boost 2.0910, better) |
| Biggest Deboost | predicted_BB: 0.3300 -> 0.0000 (deboost -0.3300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4430 -> 0.4493 (boost 0.0063, better) | predicted_AB: 2.9090 -> 2.8587 (deboost -0.0503, worse) | Final model input calibrated with local 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.4493 -> 0.4659 (boost 0.0166, better) | predicted_AVG: 0.3505 -> 0.3321 (deboost -0.0184, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.5032 -> 1.0000 (boost 0.4968, better) | predicted_BB: 0.2896 -> 0.0000 (deboost -0.2896, worse) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.326 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3458 -> 0.0000 (deboost -0.3458, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4659 -> 0.4720 (boost 0.0061, better) | predicted_OBP: 0.3936 -> 0.3780 (deboost -0.0156, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 5 | 5 | 0 | 4 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3780 -> 0.3936 (boost 0.0156, better) | predicted_SLG: 0.4720 -> 0.4659 (deboost -0.0061, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"position": "1B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.023,
"predicted_AB": 2.909,
"predicted_AVG": 0.357,
"predicted_BB": 0.33,
"predicted_H": 0.91,
"predicted_HR": 0.06,
"predicted_OBP": 0.393,
"predicted_R": 0.352,
"predicted_RBI": 0.47,
"predicted_SLG": 0.443,
"predicted_SO": 0.523
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1883,
"predicted_3B": 0.0188,
"predicted_AB": 2.8587,
"predicted_AVG": 0.3505,
"predicted_BB": 0.2869,
"predicted_H": 0.9282,
"predicted_HBP": 0.051,
"predicted_HR": 0.0511,
"predicted_OBP": 0.3959,
"predicted_R": 0.3326,
"predicted_RBI": 0.484,
"predicted_SLG": 0.4493,
"predicted_SO": 0.5319
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1883,
"delta": -0.0047,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0188,
"delta": -0.0042,
"percent_delta": -0.1826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.909,
"after": 2.8587,
"delta": -0.0503,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.357,
"after": 0.3505,
"delta": -0.0065,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.33,
"after": 0.2869,
"delta": -0.0431,
"percent_delta": -0.1306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9282,
"delta": 0.0182,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0511,
"delta": -0.0089,
"percent_delta": -0.1483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.3959,
"delta": 0.0029,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 0.3326,
"delta": -0.0194,
"percent_delta": -0.0551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.484,
"delta": 0.014,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4493,
"delta": 0.0063,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.523,
"after": 0.5319,
"delta": 0.0089,
"percent_delta": 0.017,
"direction": "no_change",
"projection_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.443,
"after": 0.4493,
"delta": 0.0063,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.909,
"after": 2.8587,
"delta": -0.0503,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1883,
"predicted_3B": 0.0188,
"predicted_AB": 2.8587,
"predicted_AVG": 0.3321,
"predicted_BB": 0.2896,
"predicted_H": 0.9495,
"predicted_HBP": 0.051,
"predicted_HR": 0.0521,
"predicted_OBP": 0.3936,
"predicted_R": 0.3458,
"predicted_RBI": 0.5032,
"predicted_SLG": 0.4659,
"predicted_SO": 0.5268
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1883,
"after": 0.1883,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0188,
"after": 0.0188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8587,
"after": 2.8587,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3505,
"after": 0.3321,
"delta": -0.0184,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2869,
"after": 0.2896,
"delta": 0.0027,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9282,
"after": 0.9495,
"delta": 0.0213,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0511,
"after": 0.0521,
"delta": 0.001,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3959,
"after": 0.3936,
"delta": -0.0023,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3326,
"after": 0.3458,
"delta": 0.0132,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.484,
"after": 0.5032,
"delta": 0.0192,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4493,
"after": 0.4659,
"delta": 0.0166,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5319,
"after": 0.5268,
"delta": -0.0051,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4493,
"after": 0.4659,
"delta": 0.0166,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3505,
"after": 0.3321,
"delta": -0.0184,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.91), rates preserved: AVG=0.326 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1883,
"after": 0.0,
"delta": -0.1883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0188,
"after": 0.0,
"delta": -0.0188,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8587,
"after": 3.0,
"delta": 0.1413,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2896,
"after": 0.0,
"delta": -0.2896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9495,
"after": 1.0,
"delta": 0.0505,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0521,
"after": 0.0,
"delta": -0.0521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5032,
"after": 1.0,
"delta": 0.4968,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5268,
"after": 1.0,
"delta": 0.4732,
"percent_delta": 0.8983,
"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.5032,
"after": 1.0,
"delta": 0.4968,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2896,
"after": 0.0,
"delta": -0.2896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.3458,
"after": 0.0,
"delta": -0.3458,
"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.3458,
"after": 0.0,
"delta": -0.3458,
"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": 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": 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": 3.0,
"predicted_AVG": 0.318,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.378,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.472,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3321,
"after": 0.318,
"delta": -0.0141,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3936,
"after": 0.378,
"delta": -0.0156,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4659,
"after": 0.472,
"delta": 0.0061,
"percent_delta": 0.0131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4659,
"after": 0.472,
"delta": 0.0061,
"percent_delta": 0.0131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3936,
"after": 0.378,
"delta": -0.0156,
"percent_delta": -0.0396,
"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": 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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.3321,
"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.3936,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4659,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.318,
"after": 0.3321,
"delta": 0.0141,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3936,
"delta": 0.0156,
"percent_delta": 0.0412,
"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.472,
"after": 0.4659,
"delta": -0.0061,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3936,
"delta": 0.0156,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4659,
"delta": -0.0061,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 1.0,
"delta": 0.807,
"percent_delta": 4.1813,
"direction": "boost",
"projection_effect": "better",
"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": 2.909,
"after": 5.0,
"delta": 2.091,
"percent_delta": 0.7188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.357,
"after": 0.3321,
"delta": -0.0249,
"percent_delta": -0.0697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.3936,
"delta": 0.0006,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 1.0,
"delta": 0.648,
"percent_delta": 1.8409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 2.0,
"delta": 1.53,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4659,
"delta": 0.0229,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.523,
"after": 2.0,
"delta": 1.477,
"percent_delta": 2.8241,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.909,
"after": 5.0,
"delta": 2.091,
"percent_delta": 0.7188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 2.909 | - |
| predicted_AVG | 0.357 | - |
| predicted_BB | 0.330 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.393 | - |
| predicted_R | 0.352 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.523 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | -0.005 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 2.859 | -0.050 |
| predicted_AVG | 0.350 | -0.007 |
| predicted_BB | 0.287 | -0.043 |
| predicted_H | 0.928 | 0.018 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.396 | 0.003 |
| predicted_R | 0.333 | -0.019 |
| predicted_RBI | 0.484 | 0.014 |
| predicted_SLG | 0.449 | 0.006 |
| predicted_SO | 0.532 | 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.188 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 2.859 | 0.000 |
| predicted_AVG | 0.332 | -0.018 |
| predicted_BB | 0.290 | 0.003 |
| predicted_H | 0.950 | 0.021 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.052 | 0.001 |
| predicted_OBP | 0.394 | -0.002 |
| predicted_R | 0.346 | 0.013 |
| predicted_RBI | 0.503 | 0.019 |
| predicted_SLG | 0.466 | 0.017 |
| predicted_SO | 0.527 | -0.005 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.326 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.188 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 3.000 | 0.141 |
| predicted_AVG | 0.318 | -0.014 |
| predicted_BB | 0.000 | -0.290 |
| predicted_H | 1.000 | 0.050 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.378 | -0.016 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 1.000 | 0.497 |
| predicted_SLG | 0.472 | 0.006 |
| predicted_SO | 1.000 | 0.473 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 2.000 | 0.4000 | 0.4000 | 0.5000 | 0.4000 | 0.0000 | 0.3000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 27.000 | 11.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 2.000 | 6.000 | 0.4074 | 0.4667 | 0.4444 | 0.4074 | 0.0000 | 0.1482 | 0.0741 | 0.2222 |
| season | 0.60 | 88 | - | 256.000 | 81.000 | 17.000 | 2.000 | 5.000 | 41.000 | 31.000 | 29.000 | 46.000 | 0.3164 | 0.3938 | 0.4570 | 0.3164 | 0.0195 | 0.1602 | 0.1133 | 0.1797 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0130 |
| predicted_AB | 2.7900 |
| predicted_AVG | 0.3417 |
| predicted_BB | 0.2280 |
| predicted_H | 0.9530 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3999 |
| predicted_R | 0.3060 |
| predicted_RBI | 0.5030 |
| predicted_SLG | 0.4579 |
| predicted_SO | 0.5440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1820 | 0.1883 | model_form_blend |
| predicted_3B | 0.0230 | 0.0130 | 0.0188 | model_form_blend |
| predicted_AB | 2.9090 | 2.7900 | 2.8587 | model_form_blend |
| predicted_AVG | 0.3570 | 0.3417 | 0.3505 | model_form_blend |
| predicted_BB | 0.3300 | 0.2280 | 0.2869 | model_form_blend |
| predicted_H | 0.9100 | 0.9530 | 0.9282 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0600 | 0.0390 | 0.0511 | model_form_blend |
| predicted_OBP | 0.3930 | 0.3999 | 0.3959 | model_form_blend |
| predicted_R | 0.3520 | 0.3060 | 0.3326 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5030 | 0.4840 | model_form_blend |
| predicted_SLG | 0.4430 | 0.4579 | 0.4493 | model_form_blend |
| predicted_SO | 0.5230 | 0.5440 | 0.5319 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 278 |
| Season rows before report date | 278 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| 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.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 683734 |
| playerID | 683734 |
| playerName | Andrew Vaughn |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.376 |
| sl_xwoba | 0.334 |
| sl_xba | 0.269 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 38.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.230 | 1.000 | 0.000 | Hitting_2B | 0.256 | 0.000 | 0.744 | 1.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 5.110 | 5.000 | 5.000 | Hitting_AB | 4.004 | 4.000 | 0.996 | 1.000 |
| predicted_AVG | 0.221 | 0.200 | 0.200 | Hitting_AVG | 0.272 | 0.000 | -0.072 | 0.200 |
| predicted_BB | 0.556 | 0.000 | 1.000 | Hitting_BB | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.088 | 0.000 | -0.088 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.294 | 0.200 | 0.333 | Hitting_OBP | 0.360 | 0.000 | -0.160 | 0.200 |
| predicted_R | 0.659 | 0.000 | 1.000 | Hitting_R | 0.693 | 1.000 | -0.693 | -1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.719 | 1.000 | -0.719 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_SLG | 0.374 | 0.400 | 0.200 | Hitting_SLG | 0.460 | 0.000 | -0.060 | 0.400 |
| predicted_SO | 1.119 | 2.000 | 1.000 | Hitting_SO | 1.099 | 2.000 | 0.901 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 1.1190 -> 2.0000 (boost 0.8810, worse) |
| Biggest Deboost | predicted_R: 0.6590 -> 0.0000 (deboost -0.6590, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 5.1100 -> 4.6150 (deboost -0.4950, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2982 -> 0.3054 (boost 0.0072, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.5372 -> 1.0000 (boost 0.4628, better) | predicted_2B: 0.2161 -> 0.0000 (deboost -0.2161, worse) | AB rounded to 5 (raw=5.11), rates preserved: AVG=0.203 HR/AB=0.027 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6715 -> 1.0000 (boost 0.3285, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | 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 |
| 9 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3180 -> 0.3696 (boost 0.0516, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.024,
"predicted_AB": 5.11,
"predicted_AVG": 0.221,
"predicted_BB": 0.556,
"predicted_H": 1.13,
"predicted_HR": 0.16,
"predicted_OBP": 0.294,
"predicted_R": 0.659,
"predicted_RBI": 0.61,
"predicted_SLG": 0.374,
"predicted_SO": 1.119
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2161,
"predicted_3B": 0.0196,
"predicted_AB": 4.615,
"predicted_AVG": 0.2193,
"predicted_BB": 0.5321,
"predicted_H": 1.0133,
"predicted_HBP": 0.002,
"predicted_HR": 0.1352,
"predicted_OBP": 0.2982,
"predicted_R": 0.6459,
"predicted_RBI": 0.563,
"predicted_SLG": 0.3643,
"predicted_SO": 1.1669
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.2161,
"delta": -0.0139,
"percent_delta": -0.0604,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0196,
"delta": -0.0044,
"percent_delta": -0.1833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.11,
"after": 4.615,
"delta": -0.495,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2193,
"delta": -0.0017,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.5321,
"delta": -0.0239,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0133,
"delta": -0.1167,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1352,
"delta": -0.0248,
"percent_delta": -0.155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2982,
"delta": 0.0042,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.659,
"after": 0.6459,
"delta": -0.0131,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.563,
"delta": -0.047,
"percent_delta": -0.077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3643,
"delta": -0.0097,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.119,
"after": 1.1669,
"delta": 0.0479,
"percent_delta": 0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.11,
"after": 4.615,
"delta": -0.495,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2161,
"predicted_3B": 0.0196,
"predicted_AB": 4.615,
"predicted_AVG": 0.2246,
"predicted_BB": 0.5372,
"predicted_H": 1.0365,
"predicted_HBP": 0.002,
"predicted_HR": 0.138,
"predicted_OBP": 0.3054,
"predicted_R": 0.6715,
"predicted_RBI": 0.5854,
"predicted_SLG": 0.3696,
"predicted_SO": 1.1558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2161,
"after": 0.2161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0196,
"after": 0.0196,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.615,
"after": 4.615,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2193,
"after": 0.2246,
"delta": 0.0053,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5321,
"after": 0.5372,
"delta": 0.0051,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0133,
"after": 1.0365,
"delta": 0.0232,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1352,
"after": 0.138,
"delta": 0.0028,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2982,
"after": 0.3054,
"delta": 0.0072,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6459,
"after": 0.6715,
"delta": 0.0256,
"percent_delta": 0.0396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.563,
"after": 0.5854,
"delta": 0.0224,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3643,
"after": 0.3696,
"delta": 0.0053,
"percent_delta": 0.0145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1669,
"after": 1.1558,
"delta": -0.0111,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2982,
"after": 0.3054,
"delta": 0.0072,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.11), rates preserved: AVG=0.203 HR/AB=0.027",
"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.2161,
"after": 0.0,
"delta": -0.2161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0196,
"after": 0.0,
"delta": -0.0196,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.615,
"after": 5.0,
"delta": 0.385,
"percent_delta": 0.0834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5372,
"after": 1.0,
"delta": 0.4628,
"percent_delta": 0.8615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0365,
"after": 1.0,
"delta": -0.0365,
"percent_delta": -0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5854,
"after": 1.0,
"delta": 0.4146,
"percent_delta": 0.7082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1558,
"after": 1.0,
"delta": -0.1558,
"percent_delta": -0.1348,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5372,
"after": 1.0,
"delta": 0.4628,
"percent_delta": 0.8615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2161,
"after": 0.0,
"delta": -0.2161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)",
"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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.6715,
"after": 1.0,
"delta": 0.3285,
"percent_delta": 0.4892,
"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.6715,
"after": 1.0,
"delta": 0.3285,
"percent_delta": 0.4892,
"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": 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": 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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player 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.194,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 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.2246,
"after": 0.194,
"delta": -0.0306,
"percent_delta": -0.1362,
"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.3054,
"after": 0.27,
"delta": -0.0354,
"percent_delta": -0.1159,
"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.3696,
"after": 0.318,
"delta": -0.0516,
"percent_delta": -0.1396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2246,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3054,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3696,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.2246,
"delta": 0.0306,
"percent_delta": 0.1577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.3054,
"delta": 0.0354,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3696,
"delta": 0.0516,
"percent_delta": 0.1623,
"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.318,
"after": 0.3696,
"delta": 0.0516,
"percent_delta": 0.1623,
"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": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.11,
"after": 5.0,
"delta": -0.11,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2246,
"delta": 0.0036,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3054,
"delta": 0.0114,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.659,
"after": 0.0,
"delta": -0.659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3696,
"delta": -0.0044,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.119,
"after": 2.0,
"delta": 0.881,
"percent_delta": 0.7873,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.119,
"after": 2.0,
"delta": 0.881,
"percent_delta": 0.7873,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.659,
"after": 0.0,
"delta": -0.659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.024 | - |
| predicted_AB | 5.110 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.659 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 1.119 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | -0.014 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 4.615 | -0.495 |
| predicted_AVG | 0.219 | -0.002 |
| predicted_BB | 0.532 | -0.024 |
| predicted_H | 1.013 | -0.117 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.135 | -0.025 |
| predicted_OBP | 0.298 | 0.004 |
| predicted_R | 0.646 | -0.013 |
| predicted_RBI | 0.563 | -0.047 |
| predicted_SLG | 0.364 | -0.010 |
| predicted_SO | 1.167 | 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.216 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 4.615 | 0.000 |
| predicted_AVG | 0.225 | 0.005 |
| predicted_BB | 0.537 | 0.005 |
| predicted_H | 1.036 | 0.023 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.138 | 0.003 |
| predicted_OBP | 0.305 | 0.007 |
| predicted_R | 0.671 | 0.026 |
| predicted_RBI | 0.585 | 0.022 |
| predicted_SLG | 0.370 | 0.005 |
| predicted_SO | 1.156 | -0.011 |
AB rounded to 5 (raw=5.11), rates preserved: AVG=0.203 HR/AB=0.027
| 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=9.0, weight=0.092, BvP AVG=0.111)
| 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 | 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 | 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.216 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 5.000 | 0.385 |
| predicted_AVG | 0.194 | -0.031 |
| predicted_BB | 0.000 | -0.537 |
| predicted_H | 1.000 | -0.036 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.270 | -0.035 |
| predicted_R | 1.000 | 0.329 |
| predicted_RBI | 1.000 | 0.415 |
| predicted_SLG | 0.318 | -0.052 |
| predicted_SO | 1.000 | -0.156 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 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 | 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 | - | 20.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 8.000 | 0.1500 | 0.2273 | 0.2000 | 0.1500 | 0.0000 | 0.0500 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 41.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 6.000 | 5.000 | 13.000 | 0.1463 | 0.2391 | 0.2439 | 0.1463 | 0.0244 | 0.0976 | 0.1220 | 0.3171 |
| season | 0.60 | 126 | - | 496.000 | 129.000 | 29.000 | 3.000 | 17.000 | 80.000 | 83.000 | 70.000 | 141.000 | 0.2601 | 0.3504 | 0.4335 | 0.2601 | 0.0343 | 0.1613 | 0.1411 | 0.2843 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.9730 |
| predicted_AVG | 0.2170 |
| predicted_BB | 0.5010 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3036 |
| predicted_R | 0.6290 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.3518 |
| predicted_SO | 1.2290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.1980 | 0.2161 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0196 | model_form_blend |
| predicted_AB | 5.1100 | 3.9730 | 4.6150 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2170 | 0.2193 | model_form_blend |
| predicted_BB | 0.5560 | 0.5010 | 0.5321 | model_form_blend |
| predicted_H | 1.1300 | 0.8620 | 1.0133 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1600 | 0.1030 | 0.1352 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3036 | 0.2982 | model_form_blend |
| predicted_R | 0.6590 | 0.6290 | 0.6459 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5020 | 0.5630 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3518 | 0.3643 | model_form_blend |
| predicted_SO | 1.1190 | 1.2290 | 1.1669 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 544 |
| Season rows before report date | 544 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| 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 | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.338 |
| sl_xwoba | 0.336 |
| sl_xba | 0.251 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 9.0 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 0.000 | 1.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 5.130 | 3.000 | 5.000 | Hitting_AB | 3.957 | 5.000 | -0.957 | -2.000 |
| predicted_AVG | 0.322 | 0.333 | 0.200 | Hitting_AVG | 0.265 | 0.400 | 0.068 | -0.067 |
| predicted_BB | 0.402 | 2.000 | 0.000 | Hitting_BB | 0.436 | 0.000 | 1.564 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.650 | 1.000 | 1.000 | Hitting_H | 1.048 | 2.000 | -0.048 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.386 | 0.600 | 0.200 | Hitting_OBP | 0.338 | 0.400 | 0.262 | 0.200 |
| predicted_R | 0.543 | 1.000 | 1.000 | Hitting_R | 0.568 | 1.000 | 0.432 | 0.000 |
| predicted_RBI | 0.870 | 0.000 | 1.000 | Hitting_RBI | 0.578 | 1.000 | -0.578 | -1.000 |
| predicted_SLG | 0.524 | 0.333 | 0.400 | Hitting_SLG | 0.391 | 0.400 | -0.057 | -0.067 |
| predicted_SO | 0.598 | 0.000 | 1.000 | Hitting_SO | 0.603 | 1.000 | -0.603 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4020 -> 2.0000 (boost 1.5980, better) |
| Biggest Deboost | predicted_AB: 5.1300 -> 3.0000 (deboost -2.1300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_2B: 0.1810 -> 0.2493 (boost 0.0683, better) | predicted_AB: 5.1300 -> 4.5929 (deboost -0.5371, worse) | Final model input calibrated with local 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.3263 -> 0.3329 (boost 0.0066, better) | predicted_SLG: 0.5205 -> 0.4935 (deboost -0.0270, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.5929 -> 5.0000 (boost 0.4071, better) | predicted_H: 1.5289 -> 1.0000 (deboost -0.5289, worse) | AB rounded to 5 (raw=5.13), rates preserved: AVG=0.298 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6247 -> 1.0000 (boost 0.3753, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 | 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 |
| 9 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4200 -> 0.4935 (boost 0.0735, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.181,
"predicted_3B": 0.008,
"predicted_AB": 5.13,
"predicted_AVG": 0.322,
"predicted_BB": 0.402,
"predicted_H": 1.65,
"predicted_HR": 0.18,
"predicted_OBP": 0.386,
"predicted_R": 0.543,
"predicted_RBI": 0.87,
"predicted_SLG": 0.524,
"predicted_SO": 0.598
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2493,
"predicted_3B": 0.0067,
"predicted_AB": 4.5929,
"predicted_AVG": 0.3263,
"predicted_BB": 0.3985,
"predicted_H": 1.4947,
"predicted_HBP": 0.02,
"predicted_HR": 0.1552,
"predicted_OBP": 0.3867,
"predicted_R": 0.6008,
"predicted_RBI": 0.8061,
"predicted_SLG": 0.5205,
"predicted_SO": 0.6045
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.2493,
"delta": 0.0683,
"percent_delta": 0.3773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 5.13,
"after": 4.5929,
"delta": -0.5371,
"percent_delta": -0.1047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.322,
"after": 0.3263,
"delta": 0.0043,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.402,
"after": 0.3985,
"delta": -0.0035,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.65,
"after": 1.4947,
"delta": -0.1553,
"percent_delta": -0.0941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1552,
"delta": -0.0248,
"percent_delta": -0.1378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.386,
"after": 0.3867,
"delta": 0.0007,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 0.6008,
"delta": 0.0578,
"percent_delta": 0.1064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.87,
"after": 0.8061,
"delta": -0.0639,
"percent_delta": -0.0734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.5205,
"delta": -0.0035,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 0.6045,
"delta": 0.0065,
"percent_delta": 0.0109,
"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_2B",
"before": 0.181,
"after": 0.2493,
"delta": 0.0683,
"percent_delta": 0.3773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.13,
"after": 4.5929,
"delta": -0.5371,
"percent_delta": -0.1047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2493,
"predicted_3B": 0.0067,
"predicted_AB": 4.5929,
"predicted_AVG": 0.3329,
"predicted_BB": 0.4023,
"predicted_H": 1.5289,
"predicted_HBP": 0.02,
"predicted_HR": 0.1584,
"predicted_OBP": 0.3866,
"predicted_R": 0.6247,
"predicted_RBI": 0.8381,
"predicted_SLG": 0.4935,
"predicted_SO": 0.5988
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2493,
"after": 0.2493,
"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.5929,
"after": 4.5929,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3263,
"after": 0.3329,
"delta": 0.0066,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3985,
"after": 0.4023,
"delta": 0.0038,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4947,
"after": 1.5289,
"delta": 0.0342,
"percent_delta": 0.0229,
"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.1552,
"after": 0.1584,
"delta": 0.0032,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3867,
"after": 0.3866,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6008,
"after": 0.6247,
"delta": 0.0239,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8061,
"after": 0.8381,
"delta": 0.032,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5205,
"after": 0.4935,
"delta": -0.027,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6045,
"after": 0.5988,
"delta": -0.0057,
"percent_delta": -0.0094,
"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.3263,
"after": 0.3329,
"delta": 0.0066,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5205,
"after": 0.4935,
"delta": -0.027,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.13), rates preserved: AVG=0.298 HR/AB=0.031",
"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.2493,
"after": 0.0,
"delta": -0.2493,
"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.5929,
"after": 5.0,
"delta": 0.4071,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4023,
"after": 0.0,
"delta": -0.4023,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5289,
"after": 1.0,
"delta": -0.5289,
"percent_delta": -0.3459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1584,
"after": 0.0,
"delta": -0.1584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8381,
"after": 1.0,
"delta": 0.1619,
"percent_delta": 0.1932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5988,
"after": 1.0,
"delta": 0.4012,
"percent_delta": 0.67,
"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.5929,
"after": 5.0,
"delta": 0.4071,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5289,
"after": 1.0,
"delta": -0.5289,
"percent_delta": -0.3459,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.6247,
"after": 1.0,
"delta": 0.3753,
"percent_delta": 0.6008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6247,
"after": 1.0,
"delta": 0.3753,
"percent_delta": 0.6008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.283,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.343,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 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.3329,
"after": 0.283,
"delta": -0.0499,
"percent_delta": -0.1499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3866,
"after": 0.343,
"delta": -0.0436,
"percent_delta": -0.1128,
"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.4935,
"after": 0.42,
"delta": -0.0735,
"percent_delta": -0.1489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.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.3329,
"predicted_BB": 2.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3866,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4935,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.3329,
"delta": 0.0499,
"percent_delta": 0.1763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3866,
"delta": 0.0436,
"percent_delta": 0.1272,
"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.42,
"after": 0.4935,
"delta": 0.0735,
"percent_delta": 0.1751,
"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.42,
"after": 0.4935,
"delta": 0.0735,
"percent_delta": 0.1751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.13,
"after": 3.0,
"delta": -2.13,
"percent_delta": -0.4152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.322,
"after": 0.3329,
"delta": 0.0109,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.402,
"after": 2.0,
"delta": 1.598,
"percent_delta": 3.9751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.65,
"after": 1.0,
"delta": -0.65,
"percent_delta": -0.3939,
"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.386,
"after": 0.3866,
"delta": 0.0006,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.4935,
"delta": -0.0305,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 0.0,
"delta": -0.598,
"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.402,
"after": 2.0,
"delta": 1.598,
"percent_delta": 3.9751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.13,
"after": 3.0,
"delta": -2.13,
"percent_delta": -0.4152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 5.130 | - |
| predicted_AVG | 0.322 | - |
| predicted_BB | 0.402 | - |
| predicted_H | 1.650 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.386 | - |
| predicted_R | 0.543 | - |
| predicted_RBI | 0.870 | - |
| predicted_SLG | 0.524 | - |
| predicted_SO | 0.598 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.249 | 0.068 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.593 | -0.537 |
| predicted_AVG | 0.326 | 0.004 |
| predicted_BB | 0.399 | -0.004 |
| predicted_H | 1.495 | -0.155 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.155 | -0.025 |
| predicted_OBP | 0.387 | 0.001 |
| predicted_R | 0.601 | 0.058 |
| predicted_RBI | 0.806 | -0.064 |
| predicted_SLG | 0.520 | -0.004 |
| predicted_SO | 0.605 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.249 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.593 | 0.000 |
| predicted_AVG | 0.333 | 0.007 |
| predicted_BB | 0.402 | 0.004 |
| predicted_H | 1.529 | 0.034 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.158 | 0.003 |
| predicted_OBP | 0.387 | -0.000 |
| predicted_R | 0.625 | 0.024 |
| predicted_RBI | 0.838 | 0.032 |
| predicted_SLG | 0.493 | -0.027 |
| predicted_SO | 0.599 | -0.006 |
AB rounded to 5 (raw=5.13), rates preserved: AVG=0.298 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 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 | 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.249 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.407 |
| predicted_AVG | 0.283 | -0.050 |
| predicted_BB | 0.000 | -0.402 |
| predicted_H | 1.000 | -0.529 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.343 | -0.044 |
| predicted_R | 1.000 | 0.375 |
| predicted_RBI | 1.000 | 0.162 |
| predicted_SLG | 0.420 | -0.074 |
| predicted_SO | 1.000 | 0.401 |
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 | -2.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | - | 19.000 | 9.000 | 3.000 | 0.000 | 1.000 | 6.000 | 5.000 | 2.000 | 3.000 | 0.4737 | 0.5000 | 0.7895 | 0.4737 | 0.0526 | 0.3158 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 41.000 | 16.000 | 6.000 | 0.000 | 1.000 | 8.000 | 8.000 | 4.000 | 6.000 | 0.3902 | 0.4348 | 0.6098 | 0.3902 | 0.0244 | 0.1951 | 0.0976 | 0.1463 |
| season | 0.60 | 127 | - | 491.000 | 134.000 | 23.000 | 1.000 | 13.000 | 71.000 | 69.000 | 51.000 | 76.000 | 0.2729 | 0.3418 | 0.4033 | 0.2729 | 0.0265 | 0.1446 | 0.1039 | 0.1548 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3380 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8950 |
| predicted_AVG | 0.3320 |
| predicted_BB | 0.3940 |
| predicted_H | 1.2930 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3876 |
| predicted_R | 0.6760 |
| predicted_RBI | 0.7230 |
| predicted_SLG | 0.5159 |
| predicted_SO | 0.6130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.3380 | 0.2493 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 5.1300 | 3.8950 | 4.5929 | model_form_blend |
| predicted_AVG | 0.3220 | 0.3320 | 0.3263 | model_form_blend |
| predicted_BB | 0.4020 | 0.3940 | 0.3985 | model_form_blend |
| predicted_H | 1.6500 | 1.2930 | 1.4947 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1800 | 0.1230 | 0.1552 | model_form_blend |
| predicted_OBP | 0.3860 | 0.3876 | 0.3867 | model_form_blend |
| predicted_R | 0.5430 | 0.6760 | 0.6008 | model_form_blend |
| predicted_RBI | 0.8700 | 0.7230 | 0.8061 | model_form_blend |
| predicted_SLG | 0.5240 | 0.5159 | 0.5205 | model_form_blend |
| predicted_SO | 0.5980 | 0.6130 | 0.6045 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 516 |
| Season rows before report date | 516 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 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 | 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 | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.328 |
| sl_xwoba | 0.337 |
| sl_xba | 0.263 |
| sl_xslg | 0.441 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 1.000 | 1.000 | Hitting_2B | 0.210 | 1.000 | 0.790 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.811 | 5.000 | 4.000 | Hitting_AB | 4.010 | 3.000 | 0.990 | 2.000 |
| predicted_AVG | 0.319 | 0.400 | 0.250 | Hitting_AVG | 0.234 | 0.667 | 0.166 | -0.267 |
| predicted_BB | 0.442 | 0.000 | 1.000 | Hitting_BB | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.940 | 2.000 | 1.000 | Hitting_H | 0.937 | 2.000 | 1.063 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.382 | 0.400 | 0.400 | Hitting_OBP | 0.321 | 0.667 | 0.079 | -0.267 |
| predicted_R | 0.600 | 1.000 | 1.000 | Hitting_R | 0.643 | 2.000 | 0.357 | -1.000 |
| predicted_RBI | 0.400 | 3.000 | 0.000 | Hitting_RBI | 0.511 | 0.000 | 2.489 | 3.000 |
| predicted_SLG | 0.515 | 0.600 | 0.500 | Hitting_SLG | 0.376 | 1.000 | 0.224 | -0.400 |
| predicted_SO | 1.126 | 0.000 | 1.000 | Hitting_SO | 1.215 | 1.000 | -1.215 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.4000 -> 3.0000 (boost 2.6000, better) |
| Biggest Deboost | predicted_SO: 1.1260 -> 0.0000 (deboost -1.1260, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 3.8110 -> 3.7448 (deboost -0.0662, worse) | Final model input calibrated with local 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.4927 -> 0.4402 (deboost -0.0525, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 3.7448 -> 4.0000 (boost 0.2552, better) | predicted_BB: 0.4519 -> 0.0000 (deboost -0.4519, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.257 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6574 -> 1.0000 (boost 0.3426, 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 | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4150 -> 0.4402 (boost 0.0252, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.021,
"predicted_AB": 3.811,
"predicted_AVG": 0.319,
"predicted_BB": 0.442,
"predicted_H": 0.94,
"predicted_HR": 0.12,
"predicted_OBP": 0.382,
"predicted_R": 0.6,
"predicted_RBI": 0.4,
"predicted_SLG": 0.515,
"predicted_SO": 1.126
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2597,
"predicted_3B": 0.0171,
"predicted_AB": 3.7448,
"predicted_AVG": 0.2974,
"predicted_BB": 0.4476,
"predicted_H": 0.9585,
"predicted_HBP": 0.025,
"predicted_HR": 0.1222,
"predicted_OBP": 0.3691,
"predicted_R": 0.6323,
"predicted_RBI": 0.4331,
"predicted_SLG": 0.4927,
"predicted_SO": 1.0636
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.2597,
"delta": 0.0387,
"percent_delta": 0.1751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0171,
"delta": -0.0039,
"percent_delta": -0.1857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.811,
"after": 3.7448,
"delta": -0.0662,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.319,
"after": 0.2974,
"delta": -0.0216,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.4476,
"delta": 0.0056,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9585,
"delta": 0.0185,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1222,
"delta": 0.0022,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.382,
"after": 0.3691,
"delta": -0.0129,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.6323,
"delta": 0.0323,
"percent_delta": 0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4331,
"delta": 0.0331,
"percent_delta": 0.0827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.4927,
"delta": -0.0223,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.126,
"after": 1.0636,
"delta": -0.0624,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.811,
"after": 3.7448,
"delta": -0.0662,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2597,
"predicted_3B": 0.0171,
"predicted_AB": 3.7448,
"predicted_AVG": 0.2618,
"predicted_BB": 0.4519,
"predicted_H": 0.9804,
"predicted_HBP": 0.025,
"predicted_HR": 0.1247,
"predicted_OBP": 0.3413,
"predicted_R": 0.6574,
"predicted_RBI": 0.4503,
"predicted_SLG": 0.4402,
"predicted_SO": 1.0535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2597,
"after": 0.2597,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0171,
"after": 0.0171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7448,
"after": 3.7448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2974,
"after": 0.2618,
"delta": -0.0356,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4476,
"after": 0.4519,
"delta": 0.0043,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9585,
"after": 0.9804,
"delta": 0.0219,
"percent_delta": 0.0228,
"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.1222,
"after": 0.1247,
"delta": 0.0025,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3691,
"after": 0.3413,
"delta": -0.0278,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6323,
"after": 0.6574,
"delta": 0.0251,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4331,
"after": 0.4503,
"delta": 0.0172,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4927,
"after": 0.4402,
"delta": -0.0525,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0636,
"after": 1.0535,
"delta": -0.0101,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4927,
"after": 0.4402,
"delta": -0.0525,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.257 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2597,
"after": 0.0,
"delta": -0.2597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0171,
"after": 0.0,
"delta": -0.0171,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7448,
"after": 4.0,
"delta": 0.2552,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4519,
"after": 0.0,
"delta": -0.4519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9804,
"after": 1.0,
"delta": 0.0196,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1247,
"after": 0.0,
"delta": -0.1247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4503,
"after": 0.0,
"delta": -0.4503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0535,
"after": 1.0,
"delta": -0.0535,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7448,
"after": 4.0,
"delta": 0.2552,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4519,
"after": 0.0,
"delta": -0.4519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6574,
"after": 1.0,
"delta": 0.3426,
"percent_delta": 0.5211,
"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.6574,
"after": 1.0,
"delta": 0.3426,
"percent_delta": 0.5211,
"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": 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": 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": 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": 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": 4.0,
"predicted_AVG": 0.252,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.415,
"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.2618,
"after": 0.252,
"delta": -0.0098,
"percent_delta": -0.0374,
"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.3413,
"after": 0.333,
"delta": -0.0083,
"percent_delta": -0.0243,
"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.4402,
"after": 0.415,
"delta": -0.0252,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2618,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3413,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4402,
"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": 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.252,
"after": 0.2618,
"delta": 0.0098,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3413,
"delta": 0.0083,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4402,
"delta": 0.0252,
"percent_delta": 0.0607,
"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.415,
"after": 0.4402,
"delta": 0.0252,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 1.0,
"delta": 0.779,
"percent_delta": 3.5249,
"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.811,
"after": 5.0,
"delta": 1.189,
"percent_delta": 0.312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.319,
"after": 0.2618,
"delta": -0.0572,
"percent_delta": -0.1793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0,
"delta": 1.06,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.382,
"after": 0.3413,
"delta": -0.0407,
"percent_delta": -0.1065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 3.0,
"delta": 2.6,
"percent_delta": 6.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.4402,
"delta": -0.0748,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.126,
"after": 0.0,
"delta": -1.126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4,
"after": 3.0,
"delta": 2.6,
"percent_delta": 6.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.126,
"after": 0.0,
"delta": -1.126,
"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.221 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.811 | - |
| predicted_AVG | 0.319 | - |
| predicted_BB | 0.442 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.382 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.515 | - |
| predicted_SO | 1.126 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.260 | 0.039 |
| predicted_3B | 0.017 | -0.004 |
| predicted_AB | 3.745 | -0.066 |
| predicted_AVG | 0.297 | -0.022 |
| predicted_BB | 0.448 | 0.006 |
| predicted_H | 0.959 | 0.019 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.122 | 0.002 |
| predicted_OBP | 0.369 | -0.013 |
| predicted_R | 0.632 | 0.032 |
| predicted_RBI | 0.433 | 0.033 |
| predicted_SLG | 0.493 | -0.022 |
| predicted_SO | 1.064 | -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.260 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.745 | 0.000 |
| predicted_AVG | 0.262 | -0.036 |
| predicted_BB | 0.452 | 0.004 |
| predicted_H | 0.980 | 0.022 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.125 | 0.003 |
| predicted_OBP | 0.341 | -0.028 |
| predicted_R | 0.657 | 0.025 |
| predicted_RBI | 0.450 | 0.017 |
| predicted_SLG | 0.440 | -0.053 |
| predicted_SO | 1.054 | -0.010 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.257 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.260 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.255 |
| predicted_AVG | 0.252 | -0.010 |
| predicted_BB | 0.000 | -0.452 |
| predicted_H | 1.000 | 0.020 |
| predicted_HR | 0.000 | -0.125 |
| predicted_OBP | 0.333 | -0.008 |
| predicted_R | 1.000 | 0.343 |
| predicted_RBI | 0.000 | -0.450 |
| predicted_SLG | 0.415 | -0.025 |
| predicted_SO | 1.000 | -0.054 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 17.000 | 5.000 | 2.000 | 0.000 | 1.000 | 2.000 | 5.000 | 3.000 | 5.000 | 0.2941 | 0.4000 | 0.5882 | 0.2941 | 0.0588 | 0.1177 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 10 | - | 34.000 | 12.000 | 5.000 | 0.000 | 1.000 | 5.000 | 6.000 | 4.000 | 6.000 | 0.3529 | 0.4211 | 0.5882 | 0.3529 | 0.0294 | 0.1471 | 0.1177 | 0.1765 |
| season | 0.60 | 95 | - | 362.000 | 85.000 | 21.000 | 2.000 | 10.000 | 47.000 | 57.000 | 42.000 | 107.000 | 0.2348 | 0.3187 | 0.3867 | 0.2348 | 0.0276 | 0.1298 | 0.1160 | 0.2956 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3110 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.6570 |
| predicted_AVG | 0.2688 |
| predicted_BB | 0.4550 |
| predicted_H | 0.9830 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.3521 |
| predicted_R | 0.6750 |
| predicted_RBI | 0.4770 |
| predicted_SLG | 0.4632 |
| predicted_SO | 0.9810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.3110 | 0.2597 | model_form_blend |
| predicted_3B | 0.0210 | 0.0120 | 0.0171 | model_form_blend |
| predicted_AB | 3.8110 | 3.6570 | 3.7448 | model_form_blend |
| predicted_AVG | 0.3190 | 0.2688 | 0.2974 | model_form_blend |
| predicted_BB | 0.4420 | 0.4550 | 0.4476 | model_form_blend |
| predicted_H | 0.9400 | 0.9830 | 0.9585 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1200 | 0.1250 | 0.1222 | model_form_blend |
| predicted_OBP | 0.3820 | 0.3521 | 0.3691 | model_form_blend |
| predicted_R | 0.6000 | 0.6750 | 0.6323 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4770 | 0.4331 | model_form_blend |
| predicted_SLG | 0.5150 | 0.4632 | 0.4927 | model_form_blend |
| predicted_SO | 1.1260 | 0.9810 | 1.0636 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 395 |
| Season rows before report date | 395 |
| 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260902_MIL@CHC |
| game_type | ph |
| mlbID | 592885 |
| note | Struck out for Sánchez in the 5th. |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.313 |
| sl_xwoba | 0.315 |
| sl_xba | 0.236 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 3.4 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 45.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.207 | 0.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.610 | 4.000 | 4.000 | Hitting_AB | 3.525 | 2.000 | 0.475 | 2.000 |
| predicted_AVG | 0.288 | 0.000 | 0.250 | Hitting_AVG | 0.264 | 0.500 | -0.264 | -0.500 |
| predicted_BB | 0.414 | 1.000 | 0.000 | Hitting_BB | 0.465 | 0.000 | 0.535 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 1.000 | -0.046 | -1.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 0.931 | 1.000 | -0.931 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_OBP | 0.362 | 0.200 | 0.250 | Hitting_OBP | 0.356 | 0.500 | -0.156 | -0.300 |
| predicted_R | 0.474 | 0.000 | 0.000 | Hitting_R | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.250 | Hitting_SLG | 0.405 | 0.500 | -0.405 | -0.500 |
| predicted_SO | 1.181 | 1.000 | 1.000 | Hitting_SO | 1.191 | 1.000 | -0.191 | 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.4140 -> 1.0000 (boost 0.5860, better) |
| 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 | 7 | 1 | 6 | 2 | 5 | predicted_R: 0.4740 -> 0.5262 (boost 0.0522, better) | predicted_AB: 3.6100 -> 3.5190 (deboost -0.0910, worse) | Final model input calibrated with local 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.3999 -> 0.4284 (boost 0.0285, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.4533 -> 1.0000 (boost 0.5467, better) | predicted_BB: 0.3727 -> 0.0000 (deboost -0.3727, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.281 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5471 -> 1.0000 (boost 0.4529, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 0 | 2 | 0 | 2 | - | 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 | 4 | 2 | 2 | 2 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.4284 -> 0.4180 (deboost -0.0104, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4180 -> 0.4284 (boost 0.0104, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.207,
"predicted_3B": 0.026,
"predicted_AB": 3.61,
"predicted_AVG": 0.288,
"predicted_BB": 0.414,
"predicted_H": 1.04,
"predicted_HR": 0.1,
"predicted_OBP": 0.362,
"predicted_R": 0.474,
"predicted_RBI": 0.48,
"predicted_SLG": 0.408,
"predicted_SO": 1.181
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0217,
"predicted_AB": 3.519,
"predicted_AVG": 0.2811,
"predicted_BB": 0.3692,
"predicted_H": 0.99,
"predicted_HBP": 0.046,
"predicted_HR": 0.0853,
"predicted_OBP": 0.3527,
"predicted_R": 0.5262,
"predicted_RBI": 0.436,
"predicted_SLG": 0.3999,
"predicted_SO": 1.1293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.1902,
"delta": -0.0168,
"percent_delta": -0.0812,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0217,
"delta": -0.0043,
"percent_delta": -0.1654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 3.519,
"delta": -0.091,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2811,
"delta": -0.0069,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.3692,
"delta": -0.0448,
"percent_delta": -0.1082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.99,
"delta": -0.05,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0853,
"delta": -0.0147,
"percent_delta": -0.147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3527,
"delta": -0.0093,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 0.5262,
"delta": 0.0522,
"percent_delta": 0.1101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.436,
"delta": -0.044,
"percent_delta": -0.0917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3999,
"delta": -0.0081,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.181,
"after": 1.1293,
"delta": -0.0517,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.474,
"after": 0.5262,
"delta": 0.0522,
"percent_delta": 0.1101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.61,
"after": 3.519,
"delta": -0.091,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 116
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0217,
"predicted_AB": 3.519,
"predicted_AVG": 0.2878,
"predicted_BB": 0.3727,
"predicted_H": 1.0127,
"predicted_HBP": 0.046,
"predicted_HR": 0.087,
"predicted_OBP": 0.356,
"predicted_R": 0.5471,
"predicted_RBI": 0.4533,
"predicted_SLG": 0.4284,
"predicted_SO": 1.1186
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.1902,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.519,
"after": 3.519,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2811,
"after": 0.2878,
"delta": 0.0067,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3692,
"after": 0.3727,
"delta": 0.0035,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0127,
"delta": 0.0227,
"percent_delta": 0.0229,
"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.0853,
"after": 0.087,
"delta": 0.0017,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3527,
"after": 0.356,
"delta": 0.0033,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5262,
"after": 0.5471,
"delta": 0.0209,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.436,
"after": 0.4533,
"delta": 0.0173,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3999,
"after": 0.4284,
"delta": 0.0285,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1293,
"after": 1.1186,
"delta": -0.0107,
"percent_delta": -0.0095,
"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.3999,
"after": 0.4284,
"delta": 0.0285,
"percent_delta": 0.0713,
"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.61), rates preserved: AVG=0.281 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.0,
"delta": -0.1902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0,
"delta": -0.0217,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.519,
"after": 4.0,
"delta": 0.481,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3727,
"after": 0.0,
"delta": -0.3727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0127,
"after": 1.0,
"delta": -0.0127,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_RBI",
"before": 0.4533,
"after": 1.0,
"delta": 0.5467,
"percent_delta": 1.206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1186,
"after": 1.0,
"delta": -0.1186,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4533,
"after": 1.0,
"delta": 0.5467,
"percent_delta": 1.206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3727,
"after": 0.0,
"delta": -0.3727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"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.5471,
"after": 1.0,
"delta": 0.4529,
"percent_delta": 0.8278,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.281,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.353,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.418,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2878,
"after": 0.281,
"delta": -0.0068,
"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.356,
"after": 0.353,
"delta": -0.003,
"percent_delta": -0.0084,
"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_SLG",
"before": 0.4284,
"after": 0.418,
"delta": -0.0104,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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.4284,
"after": 0.418,
"delta": -0.0104,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2878,
"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.356,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4284,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2878,
"delta": 0.0068,
"percent_delta": 0.0241,
"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.353,
"after": 0.356,
"delta": 0.003,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4284,
"delta": 0.0104,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4284,
"delta": 0.0104,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 4.0,
"delta": 0.39,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2878,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 1.0,
"delta": 0.586,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.362,
"after": 0.356,
"delta": -0.006,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4284,
"delta": 0.0204,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.181,
"after": 1.0,
"delta": -0.181,
"percent_delta": -0.1533,
"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.414,
"after": 1.0,
"delta": 0.586,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "better",
"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.207 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.610 | - |
| predicted_AVG | 0.288 | - |
| predicted_BB | 0.414 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.474 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 1.181 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.519 | -0.091 |
| predicted_AVG | 0.281 | -0.007 |
| predicted_BB | 0.369 | -0.045 |
| predicted_H | 0.990 | -0.050 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.085 | -0.015 |
| predicted_OBP | 0.353 | -0.009 |
| predicted_R | 0.526 | 0.052 |
| predicted_RBI | 0.436 | -0.044 |
| predicted_SLG | 0.400 | -0.008 |
| predicted_SO | 1.129 | -0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.519 | 0.000 |
| predicted_AVG | 0.288 | 0.007 |
| predicted_BB | 0.373 | 0.004 |
| predicted_H | 1.013 | 0.023 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.087 | 0.002 |
| predicted_OBP | 0.356 | 0.003 |
| predicted_R | 0.547 | 0.021 |
| predicted_RBI | 0.453 | 0.017 |
| predicted_SLG | 0.428 | 0.029 |
| predicted_SO | 1.119 | -0.011 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.281 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 0.000 | -1.000 |
| RBI | 0.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.190 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.481 |
| predicted_AVG | 0.281 | -0.007 |
| predicted_BB | 0.000 | -0.373 |
| predicted_H | 1.000 | -0.013 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.353 | -0.003 |
| predicted_R | 1.000 | 0.453 |
| predicted_RBI | 1.000 | 0.547 |
| predicted_SLG | 0.418 | -0.010 |
| predicted_SO | 1.000 | -0.119 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 5.000 | 0.2222 | 0.2632 | 0.2222 | 0.2222 | 0.0000 | 0.0556 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 2.000 | 0.000 | 1.000 | 4.000 | 8.000 | 1.000 | 8.000 | 0.3824 | 0.4167 | 0.5294 | 0.3824 | 0.0294 | 0.1177 | 0.0294 | 0.2353 |
| season | 0.60 | 116 | - | 381.000 | 97.000 | 24.000 | 3.000 | 8.000 | 48.000 | 55.000 | 48.000 | 137.000 | 0.2546 | 0.3448 | 0.3963 | 0.2546 | 0.0210 | 0.1260 | 0.1260 | 0.3596 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.3990 |
| predicted_AVG | 0.2720 |
| predicted_BB | 0.3100 |
| predicted_H | 0.9240 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.3405 |
| predicted_R | 0.5950 |
| predicted_RBI | 0.3780 |
| predicted_SLG | 0.3893 |
| predicted_SO | 1.0610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2070 | 0.1680 | 0.1902 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0217 | model_form_blend |
| predicted_AB | 3.6100 | 3.3990 | 3.5190 | model_form_blend |
| predicted_AVG | 0.2880 | 0.2720 | 0.2811 | model_form_blend |
| predicted_BB | 0.4140 | 0.3100 | 0.3692 | model_form_blend |
| predicted_H | 1.0400 | 0.9240 | 0.9900 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1000 | 0.0660 | 0.0853 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3405 | 0.3527 | model_form_blend |
| predicted_R | 0.4740 | 0.5950 | 0.5262 | model_form_blend |
| predicted_RBI | 0.4800 | 0.3780 | 0.4360 | model_form_blend |
| predicted_SLG | 0.4080 | 0.3893 | 0.3999 | model_form_blend |
| predicted_SO | 1.1810 | 1.0610 | 1.1293 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 434 |
| Season rows before report date | 434 |
| 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 | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260831_MIL@CHC |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-31 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.339 |
| sl_xwoba | 0.348 |
| sl_xba | 0.26 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 51.6 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 1.8 |
| sl_whiff_percent | 36.4 |
| sl_swing_percent | 43.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.110 | 0.000 | 0.000 | Hitting_2B | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.050 | 3.000 | 3.000 | Hitting_AB | 3.156 | 4.000 | -0.156 | -1.000 |
| predicted_AVG | 0.296 | 0.333 | 0.333 | Hitting_AVG | 0.265 | 0.250 | 0.068 | 0.083 |
| predicted_BB | 0.310 | 1.000 | 0.000 | Hitting_BB | 0.327 | 1.000 | 0.673 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.838 | 1.000 | 0.162 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.336 | 0.500 | 0.333 | Hitting_OBP | 0.329 | 0.400 | 0.171 | 0.100 |
| predicted_R | 0.380 | 1.000 | 0.000 | Hitting_R | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.435 | 2.000 | -0.435 | -2.000 |
| predicted_SLG | 0.422 | 0.333 | 0.333 | Hitting_SLG | 0.419 | 0.250 | -0.085 | 0.083 |
| predicted_SO | 0.640 | 1.000 | 0.000 | Hitting_SO | 0.679 | 0.000 | 0.321 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.3100 -> 1.0000 (boost 0.6900, better) |
| Biggest Deboost | predicted_RBI: 0.5800 -> 0.0000 (deboost -0.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0500 -> 3.1387 (boost 0.0887, better) | predicted_AVG: 0.2960 -> 0.2878 (deboost -0.0082, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3350 -> 0.3540 (boost 0.0190, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5605 -> 1.0000 (boost 0.4395, better) | predicted_BB: 0.3035 -> 0.0000 (deboost -0.3035, worse) | AB rounded to 3 (raw=3.14), rates preserved: AVG=0.292 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3796 -> 0.0000 (deboost -0.3796, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_SLG: 0.4409 -> 0.4300 (deboost -0.0109, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4300 -> 0.4409 (boost 0.0109, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687401",
"player_name": "Joey Ortiz",
"position": "SS",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.11,
"predicted_3B": 0.03,
"predicted_AB": 3.05,
"predicted_AVG": 0.296,
"predicted_BB": 0.31,
"predicted_H": 0.89,
"predicted_HR": 0.09,
"predicted_OBP": 0.336,
"predicted_R": 0.38,
"predicted_RBI": 0.58,
"predicted_SLG": 0.422,
"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.1032,
"predicted_3B": 0.0326,
"predicted_AB": 3.1387,
"predicted_AVG": 0.2878,
"predicted_BB": 0.3006,
"predicted_H": 0.8947,
"predicted_HBP": 0.002,
"predicted_HR": 0.0981,
"predicted_OBP": 0.335,
"predicted_R": 0.3651,
"predicted_RBI": 0.5391,
"predicted_SLG": 0.4244,
"predicted_SO": 0.5969
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.11,
"after": 0.1032,
"delta": -0.0068,
"percent_delta": -0.0618,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0326,
"delta": 0.0026,
"percent_delta": 0.0867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 3.1387,
"delta": 0.0887,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2878,
"delta": -0.0082,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.3006,
"delta": -0.0094,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8947,
"delta": 0.0047,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0981,
"delta": 0.0081,
"percent_delta": 0.09,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.335,
"delta": -0.001,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.38,
"after": 0.3651,
"delta": -0.0149,
"percent_delta": -0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5391,
"delta": -0.0409,
"percent_delta": -0.0705,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4244,
"delta": 0.0024,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 0.5969,
"delta": -0.0431,
"percent_delta": -0.0673,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.05,
"after": 3.1387,
"delta": 0.0887,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2878,
"delta": -0.0082,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1032,
"predicted_3B": 0.0326,
"predicted_AB": 3.1387,
"predicted_AVG": 0.2916,
"predicted_BB": 0.3035,
"predicted_H": 0.9152,
"predicted_HBP": 0.002,
"predicted_HR": 0.1001,
"predicted_OBP": 0.354,
"predicted_R": 0.3796,
"predicted_RBI": 0.5605,
"predicted_SLG": 0.4409,
"predicted_SO": 0.5912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1032,
"after": 0.1032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0326,
"after": 0.0326,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1387,
"after": 3.1387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2878,
"after": 0.2916,
"delta": 0.0038,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3006,
"after": 0.3035,
"delta": 0.0029,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8947,
"after": 0.9152,
"delta": 0.0205,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0981,
"after": 0.1001,
"delta": 0.002,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.354,
"delta": 0.019,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3651,
"after": 0.3796,
"delta": 0.0145,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5391,
"after": 0.5605,
"delta": 0.0214,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.4409,
"delta": 0.0165,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5969,
"after": 0.5912,
"delta": -0.0057,
"percent_delta": -0.0095,
"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.335,
"after": 0.354,
"delta": 0.019,
"percent_delta": 0.0567,
"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.14), rates preserved: AVG=0.292 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1032,
"after": 0.0,
"delta": -0.1032,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0326,
"after": 0.0,
"delta": -0.0326,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1387,
"after": 3.0,
"delta": -0.1387,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3035,
"after": 0.0,
"delta": -0.3035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9152,
"after": 1.0,
"delta": 0.0848,
"percent_delta": 0.0927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1001,
"after": 0.0,
"delta": -0.1001,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5605,
"after": 1.0,
"delta": 0.4395,
"percent_delta": 0.7841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5912,
"after": 1.0,
"delta": 0.4088,
"percent_delta": 0.6915,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5605,
"after": 1.0,
"delta": 0.4395,
"percent_delta": 0.7841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3035,
"after": 0.0,
"delta": -0.3035,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.3796,
"after": 0.0,
"delta": -0.3796,
"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.3796,
"after": 0.0,
"delta": -0.3796,
"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": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"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.286,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.351,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.43,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2916,
"after": 0.286,
"delta": -0.0056,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.351,
"delta": -0.003,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.4409,
"after": 0.43,
"delta": -0.0109,
"percent_delta": -0.0247,
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"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_SLG",
"before": 0.4409,
"after": 0.43,
"delta": -0.0109,
"percent_delta": -0.0247,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 3.0,
"predicted_AVG": 0.2916,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.354,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4409,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2916,
"delta": 0.0056,
"percent_delta": 0.0195,
"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.354,
"delta": 0.003,
"percent_delta": 0.0086,
"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.43,
"after": 0.4409,
"delta": 0.0109,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.43,
"after": 0.4409,
"delta": 0.0109,
"percent_delta": 0.0254,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 3.0,
"delta": -0.05,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2916,
"delta": -0.0044,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.354,
"delta": 0.018,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4409,
"delta": 0.0189,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.050 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.380 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.422 | - |
| 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.103 | -0.007 |
| predicted_3B | 0.033 | 0.003 |
| predicted_AB | 3.139 | 0.089 |
| predicted_AVG | 0.288 | -0.008 |
| predicted_BB | 0.301 | -0.009 |
| predicted_H | 0.895 | 0.005 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.098 | 0.008 |
| predicted_OBP | 0.335 | -0.001 |
| predicted_R | 0.365 | -0.015 |
| predicted_RBI | 0.539 | -0.041 |
| predicted_SLG | 0.424 | 0.002 |
| predicted_SO | 0.597 | -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.103 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.139 | 0.000 |
| predicted_AVG | 0.292 | 0.004 |
| predicted_BB | 0.303 | 0.003 |
| predicted_H | 0.915 | 0.020 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.100 | 0.002 |
| predicted_OBP | 0.354 | 0.019 |
| predicted_R | 0.380 | 0.015 |
| predicted_RBI | 0.560 | 0.021 |
| predicted_SLG | 0.441 | 0.017 |
| predicted_SO | 0.591 | -0.006 |
AB rounded to 3 (raw=3.14), rates preserved: AVG=0.292 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.103 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | -0.139 |
| predicted_AVG | 0.286 | -0.006 |
| predicted_BB | 0.000 | -0.303 |
| predicted_H | 1.000 | 0.085 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.351 | -0.003 |
| predicted_R | 0.000 | -0.380 |
| predicted_RBI | 1.000 | 0.440 |
| predicted_SLG | 0.430 | -0.011 |
| predicted_SO | 1.000 | 0.409 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 1.000 | 1.000 | 0.3529 | 0.3889 | 0.5294 | 0.3529 | 0.0588 | 0.2353 | 0.0588 | 0.0588 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 1.000 | 1.000 | 1.000 | 4.000 | 3.000 | 3.000 | 4.000 | 0.2857 | 0.3421 | 0.4571 | 0.2857 | 0.0286 | 0.1143 | 0.0857 | 0.1143 |
| season | 0.60 | 100 | - | 305.000 | 77.000 | 11.000 | 3.000 | 8.000 | 41.000 | 38.000 | 31.000 | 64.000 | 0.2525 | 0.3167 | 0.3869 | 0.2525 | 0.0262 | 0.1344 | 0.1016 | 0.2098 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.2580 |
| predicted_AVG | 0.2767 |
| predicted_BB | 0.2880 |
| predicted_H | 0.9010 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1090 |
| predicted_OBP | 0.3337 |
| predicted_R | 0.3450 |
| predicted_RBI | 0.4840 |
| predicted_SLG | 0.4277 |
| predicted_SO | 0.5390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1100 | 0.0940 | 0.1032 | model_form_blend |
| predicted_3B | 0.0300 | 0.0360 | 0.0326 | model_form_blend |
| predicted_AB | 3.0500 | 3.2580 | 3.1387 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2767 | 0.2878 | model_form_blend |
| predicted_BB | 0.3100 | 0.2880 | 0.3006 | model_form_blend |
| predicted_H | 0.8900 | 0.9010 | 0.8947 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0900 | 0.1090 | 0.0981 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3337 | 0.3350 | model_form_blend |
| predicted_R | 0.3800 | 0.3450 | 0.3651 | model_form_blend |
| predicted_RBI | 0.5800 | 0.4840 | 0.5391 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4277 | 0.4244 | model_form_blend |
| predicted_SO | 0.6400 | 0.5390 | 0.5969 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 333 |
| Season rows before report date | 333 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 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.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 3B |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 687401 |
| playerID | 687401 |
| playerName | Joey Ortiz |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.313 |
| sl_xwoba | 0.295 |
| sl_xba | 0.237 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 5.7 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 44.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.113 | 1.000 | 0.000 | Hitting_2B | 0.119 | 0.000 | 0.881 | 1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.021 | 4.000 | 3.000 | Hitting_AB | 3.157 | 4.000 | 0.843 | 0.000 |
| predicted_AVG | 0.240 | 0.750 | 0.333 | Hitting_AVG | 0.251 | 0.250 | 0.499 | 0.500 |
| predicted_BB | 0.278 | 0.000 | 0.000 | Hitting_BB | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 0.650 | 3.000 | 1.000 | Hitting_H | 0.793 | 1.000 | 2.207 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.278 | 0.750 | 0.333 | Hitting_OBP | 0.328 | 0.250 | 0.422 | 0.500 |
| predicted_R | 0.433 | 1.000 | 0.000 | Hitting_R | 0.514 | 0.000 | 0.486 | 1.000 |
| predicted_RBI | 0.240 | 2.000 | 0.000 | Hitting_RBI | 0.279 | 0.000 | 1.721 | 2.000 |
| predicted_SLG | 0.329 | 1.000 | 0.333 | Hitting_SLG | 0.353 | 0.250 | 0.647 | 0.750 |
| predicted_SO | 0.732 | 0.000 | 1.000 | Hitting_SO | 0.768 | 1.000 | -0.768 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.6500 -> 3.0000 (boost 2.3500, better) |
| Biggest Deboost | predicted_SO: 0.7320 -> 0.0000 (deboost -0.7320, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.0210 -> 3.1238 (boost 0.1028, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2888 -> 0.2956 (boost 0.0068, better) | predicted_AVG: 0.2493 -> 0.2414 (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.6762 -> 1.0000 (boost 0.3238, worse) | predicted_RBI: 0.2906 -> 0.0000 (deboost -0.2906, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.241 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4559 -> 0.0000 (deboost -0.4559, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3431 -> 0.3340 (deboost -0.0091, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3340 -> 0.3431 (boost 0.0091, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.021,
"predicted_AB": 3.021,
"predicted_AVG": 0.24,
"predicted_BB": 0.278,
"predicted_H": 0.65,
"predicted_HR": 0.05,
"predicted_OBP": 0.278,
"predicted_R": 0.433,
"predicted_RBI": 0.24,
"predicted_SLG": 0.329,
"predicted_SO": 0.732
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1283,
"predicted_3B": 0.0176,
"predicted_AB": 3.1238,
"predicted_AVG": 0.2493,
"predicted_BB": 0.2381,
"predicted_H": 0.7371,
"predicted_HBP": 0.009,
"predicted_HR": 0.0504,
"predicted_OBP": 0.2888,
"predicted_R": 0.4385,
"predicted_RBI": 0.2795,
"predicted_SLG": 0.3432,
"predicted_SO": 0.6827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.1283,
"delta": 0.0153,
"percent_delta": 0.1354,
"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.021,
"after": 3.1238,
"delta": 0.1028,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2493,
"delta": 0.0093,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.2381,
"delta": -0.0399,
"percent_delta": -0.1435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.7371,
"delta": 0.0871,
"percent_delta": 0.134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0504,
"delta": 0.0004,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2888,
"delta": 0.0108,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 0.4385,
"delta": 0.0055,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2795,
"delta": 0.0395,
"percent_delta": 0.1646,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.3432,
"delta": 0.0142,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.732,
"after": 0.6827,
"delta": -0.0493,
"percent_delta": -0.0673,
"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.021,
"after": 3.1238,
"delta": 0.1028,
"percent_delta": 0.034,
"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": 97
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1283,
"predicted_3B": 0.0176,
"predicted_AB": 3.1238,
"predicted_AVG": 0.2414,
"predicted_BB": 0.2404,
"predicted_H": 0.754,
"predicted_HBP": 0.009,
"predicted_HR": 0.0514,
"predicted_OBP": 0.2956,
"predicted_R": 0.4559,
"predicted_RBI": 0.2906,
"predicted_SLG": 0.3431,
"predicted_SO": 0.6762
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1283,
"after": 0.1283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1238,
"after": 3.1238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2493,
"after": 0.2414,
"delta": -0.0079,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2381,
"after": 0.2404,
"delta": 0.0023,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7371,
"after": 0.754,
"delta": 0.0169,
"percent_delta": 0.0229,
"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.0504,
"after": 0.0514,
"delta": 0.001,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2888,
"after": 0.2956,
"delta": 0.0068,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4385,
"after": 0.4559,
"delta": 0.0174,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2795,
"after": 0.2906,
"delta": 0.0111,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3432,
"after": 0.3431,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6827,
"after": 0.6762,
"delta": -0.0065,
"percent_delta": -0.0095,
"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.2888,
"after": 0.2956,
"delta": 0.0068,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2493,
"after": 0.2414,
"delta": -0.0079,
"percent_delta": -0.0317,
"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.241 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.1283,
"after": 0.0,
"delta": -0.1283,
"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.1238,
"after": 3.0,
"delta": -0.1238,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2404,
"after": 0.0,
"delta": -0.2404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.754,
"after": 1.0,
"delta": 0.246,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0514,
"after": 0.0,
"delta": -0.0514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2906,
"after": 0.0,
"delta": -0.2906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6762,
"after": 1.0,
"delta": 0.3238,
"percent_delta": 0.4789,
"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.6762,
"after": 1.0,
"delta": 0.3238,
"percent_delta": 0.4789,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2906,
"after": 0.0,
"delta": -0.2906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.4559,
"after": 0.0,
"delta": -0.4559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4559,
"after": 0.0,
"delta": -0.4559,
"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.237,
"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.334,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2414,
"after": 0.237,
"delta": -0.0044,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2956,
"after": 0.292,
"delta": -0.0036,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3431,
"after": 0.334,
"delta": -0.0091,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3431,
"after": 0.334,
"delta": -0.0091,
"percent_delta": -0.0265,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2414,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2956,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3431,
"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.237,
"after": 0.2414,
"delta": 0.0044,
"percent_delta": 0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2956,
"delta": 0.0036,
"percent_delta": 0.0122,
"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.334,
"after": 0.3431,
"delta": 0.0091,
"percent_delta": 0.0272,
"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_SLG",
"before": 0.334,
"after": 0.3431,
"delta": 0.0091,
"percent_delta": 0.0272,
"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.113,
"after": 1.0,
"delta": 0.887,
"percent_delta": 7.8496,
"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.021,
"after": 4.0,
"delta": 0.979,
"percent_delta": 0.3241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2414,
"delta": 0.0014,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 3.0,
"delta": 2.35,
"percent_delta": 3.6154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2956,
"delta": 0.0176,
"percent_delta": 0.0633,
"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.24,
"after": 2.0,
"delta": 1.76,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.3431,
"delta": 0.0141,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.732,
"after": 0.0,
"delta": -0.732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.65,
"after": 3.0,
"delta": 2.35,
"percent_delta": 3.6154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.732,
"after": 0.0,
"delta": -0.732,
"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.113 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.021 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.278 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.433 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.329 | - |
| predicted_SO | 0.732 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | 0.015 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.124 | 0.103 |
| predicted_AVG | 0.249 | 0.009 |
| predicted_BB | 0.238 | -0.040 |
| predicted_H | 0.737 | 0.087 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.050 | 0.000 |
| predicted_OBP | 0.289 | 0.011 |
| predicted_R | 0.439 | 0.006 |
| predicted_RBI | 0.280 | 0.040 |
| predicted_SLG | 0.343 | 0.014 |
| predicted_SO | 0.683 | -0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.124 | 0.000 |
| predicted_AVG | 0.241 | -0.008 |
| predicted_BB | 0.240 | 0.002 |
| predicted_H | 0.754 | 0.017 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.296 | 0.007 |
| predicted_R | 0.456 | 0.017 |
| predicted_RBI | 0.291 | 0.011 |
| predicted_SLG | 0.343 | -0.000 |
| predicted_SO | 0.676 | -0.006 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.241 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 | - |
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 | 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.128 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.124 |
| predicted_AVG | 0.237 | -0.004 |
| predicted_BB | 0.000 | -0.240 |
| predicted_H | 1.000 | 0.246 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.292 | -0.004 |
| predicted_R | 0.000 | -0.456 |
| predicted_RBI | 0.000 | -0.291 |
| predicted_SLG | 0.334 | -0.009 |
| predicted_SO | 1.000 | 0.324 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 2.000 | 0.2941 | 0.2941 | 0.3529 | 0.2941 | 0.0000 | 0.0588 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 1.000 | 7.000 | 5.000 | 0.000 | 3.000 | 0.3056 | 0.3056 | 0.4444 | 0.3056 | 0.0278 | 0.1944 | 0.0000 | 0.0833 |
| season | 0.60 | 97 | - | 293.000 | 70.000 | 11.000 | 2.000 | 4.000 | 24.000 | 42.000 | 27.000 | 71.000 | 0.2389 | 0.3053 | 0.3311 | 0.2389 | 0.0137 | 0.0819 | 0.0921 | 0.2423 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1490 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.2630 |
| predicted_AVG | 0.2620 |
| predicted_BB | 0.1840 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.3033 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.3330 |
| predicted_SLG | 0.3623 |
| predicted_SO | 0.6160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.1490 | 0.1283 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0176 | model_form_blend |
| predicted_AB | 3.0210 | 3.2630 | 3.1238 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2620 | 0.2493 | model_form_blend |
| predicted_BB | 0.2780 | 0.1840 | 0.2381 | model_form_blend |
| predicted_H | 0.6500 | 0.8550 | 0.7371 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0500 | 0.0510 | 0.0504 | model_form_blend |
| predicted_OBP | 0.2780 | 0.3033 | 0.2888 | model_form_blend |
| predicted_R | 0.4330 | 0.4460 | 0.4385 | model_form_blend |
| predicted_RBI | 0.2400 | 0.3330 | 0.2795 | model_form_blend |
| predicted_SLG | 0.3290 | 0.3623 | 0.3432 | model_form_blend |
| predicted_SO | 0.7320 | 0.6160 | 0.6827 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 319 |
| Season rows before report date | 319 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| 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 | 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 | 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 | 20260831_MIL@CHC |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-31 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.292 |
| sl_xwoba | 0.275 |
| sl_xba | 0.222 |
| sl_xslg | 0.311 |
| sl_sweet_spot_percent | 28.5 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 27.8 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.000 | 0.000 | 1.000 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.500 | 1.000 | 1.500 | 2.000 |
| predicted_H | 3.000 | 2.000 | 3.000 | Pitching_H | 3.500 | 1.000 | -1.500 | 1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.386 | 7.000 | 0.614 | -1.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.143 | 7.000 | 0.857 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 0 | 2 | 2 | 0 | - | predicted_HR: 3.0000 -> 1.0000 (deboost -2.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 1 | 0 | 0 | 1 | predicted_HR: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "701656",
"player_name": "Logan Henderson",
"position": "Starter",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 3.0,
"predicted_HR": 3.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.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": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 6.0,
"predicted_R": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.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": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 3.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 7.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | -2.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.100 | 8.000 | 18.000 | 5.000 | 32.000 | 6.000 | 2.2268 | 0.7113 | 0.2474 | 0.5567 | 0.1546 | 0.9897 | 0.1856 |
| last_10 | 0.35 | 10 | 58.100 | 14.000 | 33.000 | 11.000 | 63.000 | 9.000 | 2.1600 | 0.7543 | 0.2400 | 0.5657 | 0.1886 | 1.0800 | 0.1543 |
| season | 0.20 | 14 | 76.100 | 21.000 | 49.000 | 14.000 | 86.000 | 11.000 | 2.4760 | 0.8253 | 0.2751 | 0.6419 | 0.1834 | 1.1266 | 0.1441 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3500 |
| predicted_ER | 1.8960 |
| predicted_ERA | 2.8389 |
| predicted_H | 4.0950 |
| predicted_HR | 0.9690 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.1320 |
| predicted_WHIP | 0.9056 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.3500 | 1.6498 | model_form_blend |
| predicted_ER | 4.0000 | 1.8960 | 2.8664 | model_form_blend |
| predicted_ERA | - | 2.8389 | 2.8389 | form_only |
| predicted_H | 3.0000 | 4.0950 | 3.5900 | model_form_blend |
| predicted_HR | 3.0000 | 0.9690 | 1.9057 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 7.0000 | 6.1320 | 6.5323 | model_form_blend |
| predicted_WHIP | - | 0.9056 | 0.9056 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 2 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 7 |
| HR | 2 |
| BF | 25 |
| Pitches | 105 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.48 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 4 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 91 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_TEX@MIL |
| game_type | full |
| mlbID | 701656 |
| playerID | 701656 |
| playerName | Logan Henderson |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-28 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.249 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.4 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 53.1 |
| sl_avg_best_speed | 76.883871648 |
| sl_avg_hyper_speed | 94.005199066 |
| 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 | 0.000 | -0.569 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.415 | 0.000 | 0.585 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.015 | 0.000 | -0.015 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.077 | 1.000 | -0.077 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.615 | 0.000 | 1.385 | 3.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 | 0 |
| Worse Metrics | 3 |
| 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 | 0 | 3 | 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": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever (High Leverage)",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 3,
"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": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 3,
"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 | 3.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 | 1.000 | 1.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 3.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 2.000 | 1.000 | 4.000 | 1.000 | 1.8000 | 0.6000 | 0.2000 | 0.4000 | 0.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 11.100 | 1.000 | 6.000 | 4.000 | 11.000 | 1.000 | 0.7941 | 0.8824 | 0.0882 | 0.5294 | 0.3529 | 0.9706 | 0.0882 |
| season | 0.20 | 65 | 77.000 | 27.000 | 66.000 | 37.000 | 105.000 | 6.000 | 3.1558 | 1.3377 | 0.3507 | 0.8571 | 0.4805 | 1.3636 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3410 |
| predicted_ER | 0.2790 |
| predicted_ERA | 2.3929 |
| predicted_H | 0.6760 |
| predicted_HR | 0.1460 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0130 |
| predicted_WHIP | 0.9678 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3410 | 0.1865 | model_form_blend |
| predicted_ER | 0.0000 | 0.2790 | 0.1526 | model_form_blend |
| predicted_ERA | - | 2.3929 | 2.3929 | form_only |
| predicted_H | 0.0000 | 0.6760 | 0.3697 | model_form_blend |
| predicted_HR | 0.0000 | 0.1460 | 0.0798 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.0130 | 1.9135 | model_form_blend |
| predicted_WHIP | - | 0.9678 | 0.9678 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 3 |
| HR | 1 |
| BF | 4 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.16 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.288 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 40.7 |
| sl_avg_best_speed | 75.535604681 |
| sl_avg_hyper_speed | 94.360872181 |
| 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.353 | 0.000 | 0.647 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.216 | 0.000 | 1.784 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.627 | 0.000 | 1.373 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.914 | 1.000 | 0.086 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "682842",
"player_name": "Abner Uribe",
"position": "Setup Man",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.0000 | 0.6000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 0.000 | 5.000 | 3.000 | 12.000 | 0.000 | 0.0000 | 0.8276 | 0.0000 | 0.5172 | 0.3103 | 1.2414 | 0.0000 |
| season | 0.20 | 51 | 50.100 | 11.000 | 32.000 | 18.000 | 51.000 | 3.000 | 1.9669 | 0.9934 | 0.2185 | 0.6358 | 0.3576 | 1.0132 | 0.0596 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4240 |
| predicted_ER | 0.1940 |
| predicted_ERA | 1.7446 |
| predicted_H | 0.5280 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9780 |
| predicted_WHIP | 0.9519 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4240 | 0.7061 | model_form_blend |
| predicted_ER | 2.0000 | 0.1940 | 1.0785 | model_form_blend |
| predicted_ERA | - | 1.7446 | 1.7446 | form_only |
| predicted_H | 2.0000 | 0.5280 | 1.2489 | model_form_blend |
| predicted_HR | 1.0000 | 0.0560 | 0.5183 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9780 | 0.4990 | model_form_blend |
| predicted_WHIP | - | 0.9519 | 0.9519 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 51 |
| Season rows before report date | 51 |
| 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.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| 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 | 1.97 |
| 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 | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.231 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 32.3 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 43.4 |
| sl_avg_best_speed | 76.356389194 |
| sl_avg_hyper_speed | 93.233457016 |
| 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.259 | 0.000 | -0.259 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.574 | 1.000 | -0.574 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.970 | 1.000 | 0.030 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.093 | 2.000 | -0.093 | -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": "656730",
"player_name": "Trevor Megill",
"position": "Closer",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 3.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.5625 | 0.3750 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 3.000 | 3.000 | 9.000 | 0.000 | 0.0000 | 0.5455 | 0.0000 | 0.2727 | 0.2727 | 0.8182 | 0.0000 |
| season | 0.20 | 53 | 53.100 | 9.000 | 29.000 | 14.000 | 59.000 | 0.000 | 1.5187 | 0.8062 | 0.1688 | 0.5437 | 0.2625 | 1.1062 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3340 |
| predicted_ER | 0.1810 |
| predicted_ERA | 1.6316 |
| predicted_H | 0.6210 |
| predicted_HR | 0.0470 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9330 |
| predicted_WHIP | 0.9552 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3340 | 0.1722 | model_form_blend |
| predicted_ER | 0.0000 | 0.1810 | 0.0933 | model_form_blend |
| predicted_ERA | - | 1.6316 | 1.6316 | form_only |
| predicted_H | 0.0000 | 0.6210 | 0.3202 | model_form_blend |
| predicted_HR | 0.0000 | 0.0470 | 0.0242 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9330 | 0.9655 | model_form_blend |
| predicted_WHIP | - | 0.9552 | 0.9552 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.19 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-09-02 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.191 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 81.202945938 |
| sl_avg_hyper_speed | 94.332421016 |
| Field | Value |
|---|---|
| Pitcher | Kevin Gausman |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1510 |
| ESPN Rank | 179 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0423 |
| Avg Velo | 89.1126 |
| Avg Spin | 1999.5503 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 5 |
| Pre H | 6 |
| Pre BB | 4 |
| Pre SO | 7 |
| Season ERA | 4.5193 |
| Season WHIP | 1.2747 |
| Role Avg IP | 5.5480 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"opponent": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"edges": {
"quality_edge": -0.1596,
"offense_edge": 0.1933,
"opponent_offense_edge": 0.1186,
"defense_strength": 0.0167,
"opponent_defense_weakness": -0.183,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9894,
"run_prevention": 1.0253,
"strikeout": 0.9857
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592332",
"profile": {
"available": true,
"pitcher_id": "592332",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 601.0,
"k_percent": 23.8,
"bb_percent": 6.6,
"woba": 0.313,
"xwoba": 0.306,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 76.4804,
"avg_hyper_speed": 94.304,
"whiff_percent": 27.1,
"swing_percent": 49.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0811,
"command_and_miss": 0.3421,
"regression_edge": 0.2,
"xwoba_edge": 0.1429,
"barrel_edge": 0.0,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.2714,
"bb_edge": 0.625,
"pitch_design_score": -0.0423
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592332",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1126,
"release_spin_rate": 1999.5503,
"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.0423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3022,
"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.151,
"sample_weight": 1.0,
"run_prevention_factor": 0.9872,
"strikeout_factor": 1.0217,
"walk_factor": 0.95,
"homer_factor": 1.0003,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592332",
"espn_id": 32667,
"player_name": "Kevin Gausman",
"team": "CHC",
"role": "pitcher",
"espn_rank": 179,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 179,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 28.0,
"gs_rank": 6,
"qs_value": 13.0,
"qs_rank": 24,
"era_value": 4.5193,
"era_rank": 46.0,
"w_value": 8.0,
"w_rank": 58,
"l_value": 11.0,
"l_rank": 9,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 155.1,
"ip_rank": 18,
"h_value": 155.0,
"h_rank": 9,
"er_value": 78.0,
"er_rank": 9,
"hr_value": 20.0,
"hr_rank": 29,
"bb_value": 43.0,
"bb_rank": 61,
"k_value": 156.0,
"k_rank": 22,
"k_per_9_value": 9.038626,
"k_per_9_rank": 33,
"whip_value": 1.2746,
"whip_rank": 36.0,
"war_value": 0.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9872,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9872,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.95,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0003,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0217,
"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": 31,
"H": 59,
"BB": 19,
"SO": 56,
"HR": 5,
"ERA": 5.134969325153374,
"WHIP": 1.4355828220858895,
"K9": 9.276073619631902,
"HR9": 0.8282208588957055,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "592332",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.11256087645637,
"release_spin_rate": 1999.5502813601959,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1126,
"release_spin_rate": 1999.5503,
"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.0423,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3022,
"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": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592332",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 16.0,
"R": 16.0,
"H": 27.0,
"BB": 7.0,
"SO": 29.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 471.0
},
"per_game": {
"IP": 5.2,
"ER": 3.2,
"R": 3.2,
"H": 5.4,
"BB": 1.4,
"SO": 5.8,
"HR": 1.0,
"BF": 23.2,
"Pitches": 94.2
},
"rates": {
"ERA": 5.1429,
"WHIP": 1.2143,
"ER_per_IP": 0.57143,
"H_per_IP": 0.96429,
"BB_per_IP": 0.25,
"SO_per_IP": 1.03571,
"HR_per_IP": 0.17857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 31.0,
"R": 35.0,
"H": 59.0,
"BB": 19.0,
"SO": 56.0,
"HR": 5.0,
"BF": 237.0,
"Pitches": 948.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1,
"R": 3.5,
"H": 5.9,
"BB": 1.9,
"SO": 5.6,
"HR": 0.5,
"BF": 23.7,
"Pitches": 94.8
},
"rates": {
"ERA": 5.135,
"WHIP": 1.4356,
"ER_per_IP": 0.57055,
"H_per_IP": 1.08589,
"BB_per_IP": 0.34969,
"SO_per_IP": 1.03067,
"HR_per_IP": 0.09202
}
},
"season": {
"games": 28,
"totals": {
"IP": 155.1,
"ER": 78.0,
"R": 84.0,
"H": 155.0,
"BB": 43.0,
"SO": 156.0,
"HR": 20.0,
"BF": 656.0,
"Pitches": 2611.0
},
"per_game": {
"IP": 5.2,
"ER": 2.7857,
"R": 3.0,
"H": 5.5357,
"BB": 1.5357,
"SO": 5.5714,
"HR": 0.7143,
"BF": 23.4286,
"Pitches": 93.25
},
"rates": {
"ERA": 4.5193,
"WHIP": 1.2747,
"ER_per_IP": 0.50215,
"H_per_IP": 0.99785,
"BB_per_IP": 0.27682,
"SO_per_IP": 1.00429,
"HR_per_IP": 0.12876
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 3.052,
"predicted_H": 5.609,
"predicted_BB": 1.684,
"predicted_SO": 5.647,
"predicted_HR": 0.777,
"predicted_ERA": 4.934,
"predicted_WHIP": 1.3099
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.052,
"final": 3.4445,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.609,
"final": 5.7709,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.684,
"final": 2.6428,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.647,
"final": 5.3791,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.777,
"final": 0.4553,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.934,
"final": 4.934,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3099,
"final": 1.3099,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Colin Rea |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6802 |
| ESPN Rank | 332 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0125 |
| Avg Velo | 89.6456 |
| Avg Spin | 2049.8614 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.4536 |
| Season WHIP | 1.3454 |
| Role Avg IP | 2.8670 |
| Recent Avg IP | 1.5330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"opponent": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"edges": {
"quality_edge": -0.1596,
"offense_edge": 0.1933,
"opponent_offense_edge": 0.1186,
"defense_strength": 0.0167,
"opponent_defense_weakness": -0.183,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9894,
"run_prevention": 1.0253,
"strikeout": 0.9857
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607067",
"profile": {
"available": true,
"pitcher_id": "607067",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 532.0,
"k_percent": 17.4,
"bb_percent": 8.1,
"woba": 0.331,
"xwoba": 0.357,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 41.9,
"avg_best_speed": 79.7898,
"avg_hyper_speed": 94.4299,
"whiff_percent": 19.9,
"swing_percent": 46.7
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.8461,
"command_and_miss": -0.5043,
"regression_edge": -0.7429,
"xwoba_edge": -1.3143,
"barrel_edge": -0.7111,
"hard_hit_edge": -0.5857,
"whiff_edge": -0.7571,
"bb_edge": 0.25,
"pitch_design_score": -0.0125
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607067",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 45,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 45,
"pitch_usage": 0.0,
"release_speed": 89.64559371013969,
"release_spin_rate": 2049.861360429289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 45,
"pitch_usage": 0.0,
"release_speed": 89.64559371013969,
"release_spin_rate": 2049.861360429289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6456,
"release_spin_rate": 2049.8614,
"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.0125,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.089,
"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.6802,
"sample_weight": 1.0,
"run_prevention_factor": 1.0578,
"strikeout_factor": 0.944,
"walk_factor": 0.98,
"homer_factor": 1.1197,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607067",
"espn_id": 33950,
"player_name": "Colin Rea",
"team": "CHC",
"role": "pitcher",
"espn_rank": 332,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 332,
"gp_value": 29.0,
"gp_rank": 216,
"gs_value": 19.0,
"gs_rank": 100,
"qs_value": 5.0,
"qs_rank": 108,
"era_value": 4.4536,
"era_rank": null,
"w_value": 8.0,
"w_rank": 58,
"l_value": 8.0,
"l_rank": 45,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 129.1,
"ip_rank": 72,
"h_value": 129.0,
"h_rank": 48,
"er_value": 64.0,
"er_rank": 45,
"hr_value": 20.0,
"hr_rank": 29,
"bb_value": 45.0,
"bb_rank": 51,
"k_value": 97.0,
"k_rank": 101,
"k_per_9_value": 6.75,
"k_per_9_rank": 37,
"whip_value": 1.3453,
"whip_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0578,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 1.0578,
"adjusted": 2
},
"predicted_BB": {
"original": 1.0,
"factor": 0.98,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.1197,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.944,
"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": 34.2,
"ER": 14,
"H": 28,
"BB": 9,
"SO": 27,
"HR": 6,
"ERA": 3.634615384615385,
"WHIP": 1.0673076923076923,
"K9": 7.009615384615385,
"HR9": 1.5576923076923077,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "607067",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 45,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 45,
"pitch_usage": 0.0,
"release_speed": 89.64559371013969,
"release_spin_rate": 2049.861360429289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 45,
"pitch_usage": 0.0,
"release_speed": 89.64559371013969,
"release_spin_rate": 2049.861360429289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6456,
"release_spin_rate": 2049.8614,
"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.0125,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.089,
"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": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "607067",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 30.0,
"Pitches": 109.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 6.0,
"Pitches": 21.8
},
"rates": {
"ERA": 2.3478,
"WHIP": 1.0435,
"ER_per_IP": 0.26087,
"H_per_IP": 0.78261,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.13043
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 34.2,
"ER": 14.0,
"R": 15.0,
"H": 28.0,
"BB": 9.0,
"SO": 27.0,
"HR": 6.0,
"BF": 140.0,
"Pitches": 530.0
},
"per_game": {
"IP": 3.1,
"ER": 1.4,
"R": 1.5,
"H": 2.8,
"BB": 0.9,
"SO": 2.7,
"HR": 0.6,
"BF": 14.0,
"Pitches": 53.0
},
"rates": {
"ERA": 3.6346,
"WHIP": 1.0673,
"ER_per_IP": 0.40385,
"H_per_IP": 0.80769,
"BB_per_IP": 0.25962,
"SO_per_IP": 0.77885,
"HR_per_IP": 0.17308
}
},
"season": {
"games": 29,
"totals": {
"IP": 129.1,
"ER": 64.0,
"R": 66.0,
"H": 129.0,
"BB": 45.0,
"SO": 97.0,
"HR": 20.0,
"BF": 557.0,
"Pitches": 2109.0
},
"per_game": {
"IP": 4.1,
"ER": 2.2069,
"R": 2.2759,
"H": 4.4483,
"BB": 1.5517,
"SO": 3.3448,
"HR": 0.6897,
"BF": 19.2069,
"Pitches": 72.7241
},
"rates": {
"ERA": 4.4536,
"WHIP": 1.3454,
"ER_per_IP": 0.49485,
"H_per_IP": 0.99742,
"BB_per_IP": 0.34794,
"SO_per_IP": 0.75,
"HR_per_IP": 0.15464
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 0.972,
"predicted_H": 2.197,
"predicted_BB": 0.749,
"predicted_SO": 2.182,
"predicted_HR": 0.385,
"predicted_ERA": 3.4045,
"predicted_WHIP": 1.1462
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4121,
"form_weight": 0.5879,
"form_reliability": 0.8529,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 2.2,
"final": 2.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.972,
"final": 0.5714,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 2.197,
"final": 1.2915,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.749,
"final": 0.4403,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 2.182,
"final": 1.2827,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.385,
"final": 0.2263,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4045,
"final": 3.4045,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1462,
"final": 1.1462,
"source": "form_only"
}
}
}{
"available": false,
"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.1333 |
| ESPN Rank | 234 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0449 |
| Avg Velo | 89.0666 |
| Avg Spin | 2422.7555 |
| 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.1500 |
| Season WHIP | 1.2333 |
| Role Avg IP | 0.9840 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"opponent": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"edges": {
"quality_edge": -0.1596,
"offense_edge": 0.1933,
"opponent_offense_edge": 0.1186,
"defense_strength": 0.0167,
"opponent_defense_weakness": -0.183,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9894,
"run_prevention": 1.0253,
"strikeout": 0.9857
},
"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": 229.0,
"k_percent": 25.7,
"bb_percent": 8.3,
"woba": 0.29,
"xwoba": 0.311,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 41.0,
"avg_best_speed": 76.9352,
"avg_hyper_speed": 94.1506,
"whiff_percent": 33.6,
"swing_percent": 50.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0464,
"command_and_miss": 0.7043,
"regression_edge": -0.6,
"xwoba_edge": 0.0,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.4571,
"whiff_edge": 1.2,
"bb_edge": 0.2,
"pitch_design_score": -0.0449
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657097",
"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": 89.06664396964251,
"release_spin_rate": 2422.7554976547412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.06664396964251,
"release_spin_rate": 2422.7554976547412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0666,
"release_spin_rate": 2422.7555,
"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.0449,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3206,
"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.1333,
"sample_weight": 0.916,
"run_prevention_factor": 0.9887,
"strikeout_factor": 1.0639,
"walk_factor": 0.9853,
"homer_factor": 1.007,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 234,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 234,
"gp_value": 61.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.15,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 9.0,
"sv_rank": 28,
"hld_value": 8.0,
"hld_rank": 109,
"ip_value": 60.0,
"ip_rank": 217,
"h_value": 53.0,
"h_rank": 217,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 8.0,
"hr_rank": 196,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 65.0,
"k_rank": 192,
"k_per_9_value": 9.75,
"k_per_9_rank": 23,
"whip_value": 1.2333,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9896,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9896,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0064,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0585,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 7,
"H": 9,
"BB": 4,
"SO": 9,
"HR": 2,
"ERA": 6.75,
"WHIP": 1.3928571428571428,
"K9": 8.678571428571429,
"HR9": 1.9285714285714284,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "657097",
"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": 89.06664396964251,
"release_spin_rate": 2422.7554976547412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.06664396964251,
"release_spin_rate": 2422.7554976547412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0666,
"release_spin_rate": 2422.7555,
"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.0449,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3206,
"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.06,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7069,
"prior_weight": 0.2931
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "657097",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 61,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 7.0,
"R": 7.0,
"H": 7.0,
"BB": 1.0,
"SO": 2.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 71.0
},
"per_game": {
"IP": 0.2,
"ER": 1.4,
"R": 1.4,
"H": 1.4,
"BB": 0.2,
"SO": 0.4,
"HR": 0.4,
"BF": 4.2,
"Pitches": 14.2
},
"rates": {
"ERA": 15.75,
"WHIP": 2.0,
"ER_per_IP": 1.75,
"H_per_IP": 1.75,
"BB_per_IP": 0.25,
"SO_per_IP": 0.5,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 9.0,
"BB": 4.0,
"SO": 9.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.9,
"BB": 0.4,
"SO": 0.9,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.3
},
"rates": {
"ERA": 6.75,
"WHIP": 1.3929,
"ER_per_IP": 0.75,
"H_per_IP": 0.96429,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 61,
"totals": {
"IP": 60.0,
"ER": 21.0,
"R": 24.0,
"H": 53.0,
"BB": 21.0,
"SO": 65.0,
"HR": 8.0,
"BF": 253.0,
"Pitches": 1013.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3443,
"R": 0.3934,
"H": 0.8689,
"BB": 0.3443,
"SO": 1.0656,
"HR": 0.1311,
"BF": 4.1475,
"Pitches": 16.6066
},
"rates": {
"ERA": 3.15,
"WHIP": 1.2333,
"ER_per_IP": 0.35,
"H_per_IP": 0.88333,
"BB_per_IP": 0.35,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.13333
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.838,
"predicted_H": 1.078,
"predicted_BB": 0.307,
"predicted_SO": 0.738,
"predicted_HR": 0.245,
"predicted_ERA": 8.4381,
"predicted_WHIP": 1.549
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4738,
"form_weight": 0.5262,
"form_reliability": 0.7069,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.06,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7069,
"prior_weight": 0.2931
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.838,
"final": 0.4409,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.078,
"final": 0.5672,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.307,
"final": 0.1615,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.738,
"final": 0.8621,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.245,
"final": 0.1289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.4381,
"final": 8.4381,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.549,
"final": 1.549,
"source": "form_only"
}
}
}{
"available": false,
"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 | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2873 |
| ESPN Rank | 256 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.2000 |
| Season WHIP | 1.2000 |
| Role Avg IP | 1.0470 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 140,
"wins": 78,
"losses": 62,
"win_pct": 0.5571,
"runs_scored": 751.0,
"runs_allowed": 619.0,
"run_differential": 132.0,
"run_differential_per_game": 0.9429,
"avg_runs_scored": 5.3643,
"avg_runs_allowed": 4.4214,
"offense_index": 1.1933,
"defense_index": 1.0167,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 8.6,
"avg_runs_allowed": 5.2,
"run_differential": 34.0
},
"available": true,
"quality_score": 0.1289
},
"opponent": {
"team": "MIL",
"games": 140,
"wins": 87,
"losses": 53,
"win_pct": 0.6214,
"runs_scored": 704.0,
"runs_allowed": 532.0,
"run_differential": 172.0,
"run_differential_per_game": 1.2286,
"avg_runs_scored": 5.0286,
"avg_runs_allowed": 3.8,
"offense_index": 1.1186,
"defense_index": 1.183,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 4.7,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.2885
},
"edges": {
"quality_edge": -0.1596,
"offense_edge": 0.1933,
"opponent_offense_edge": 0.1186,
"defense_strength": 0.0167,
"opponent_defense_weakness": -0.183,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9894,
"run_prevention": 1.0253,
"strikeout": 0.9857
},
"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": 145.0,
"k_percent": 15.4,
"bb_percent": 9.3,
"woba": 0.314,
"xwoba": 0.333,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 43.7,
"avg_best_speed": 80.0735,
"avg_hyper_speed": 94.3799,
"whiff_percent": 20.6,
"swing_percent": 49.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.4823,
"command_and_miss": -0.6579,
"regression_edge": -0.5429,
"xwoba_edge": -0.6286,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.8429,
"whiff_edge": -0.6571,
"bb_edge": -0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663423",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2873,
"sample_weight": 0.58,
"run_prevention_factor": 1.0244,
"strikeout_factor": 0.9632,
"walk_factor": 1.0023,
"homer_factor": 1.0614,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663423",
"espn_id": 36728,
"player_name": "Trent Thornton",
"team": "CHC",
"role": "pitcher",
"espn_rank": 256,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 256,
"gp_value": 44.0,
"gp_rank": 133,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.4,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 5.0,
"hld_rank": 163,
"ip_value": 45.0,
"ip_rank": 318,
"h_value": 38.0,
"h_rank": 331,
"er_value": 17.0,
"er_rank": 358,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 17.0,
"bb_rank": 333,
"k_value": 28.0,
"k_rank": 422,
"k_per_9_value": 5.6,
"k_per_9_rank": 35,
"whip_value": 1.2222,
"whip_rank": null,
"war_value": 0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0142,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0142,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0356,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9787,
"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": 6,
"H": 12,
"BB": 2,
"SO": 11,
"HR": 3,
"ERA": 6.230769230769231,
"WHIP": 1.6153846153846154,
"K9": 11.423076923076923,
"HR9": 3.1153846153846154,
"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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "663423",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663423",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 5.0,
"HR": 3.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.6,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 12.4615,
"WHIP": 2.5385,
"ER_per_IP": 1.38462,
"H_per_IP": 2.07692,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.69231
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 2.0,
"SO": 11.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 1.1,
"HR": 0.3,
"BF": 4.0,
"Pitches": 14.5
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.6154,
"ER_per_IP": 0.69231,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.34615
}
},
"season": {
"games": 43,
"totals": {
"IP": 45.0,
"ER": 16.0,
"R": 18.0,
"H": 37.0,
"BB": 17.0,
"SO": 28.0,
"HR": 7.0,
"BF": 181.0,
"Pitches": 670.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3721,
"R": 0.4186,
"H": 0.8605,
"BB": 0.3953,
"SO": 0.6512,
"HR": 0.1628,
"BF": 4.2093,
"Pitches": 15.5814
},
"rates": {
"ERA": 3.2,
"WHIP": 1.2,
"ER_per_IP": 0.35556,
"H_per_IP": 0.82222,
"BB_per_IP": 0.37778,
"SO_per_IP": 0.62222,
"HR_per_IP": 0.15556
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.78,
"predicted_H": 1.366,
"predicted_BB": 0.366,
"predicted_SO": 1.035,
"predicted_HR": 0.351,
"predicted_ERA": 7.0222,
"predicted_WHIP": 1.7326
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5004,
"form_weight": 0.4996,
"form_reliability": 0.644,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.78,
"final": 0.3897,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.366,
"final": 1.1828,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.366,
"final": 0.1828,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.035,
"final": 1.0175,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.351,
"final": 0.1754,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.0222,
"final": 7.0222,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7326,
"final": 1.7326,
"source": "form_only"
}
}
}{
"available": false,
"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.199 | 0.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.660 | 4.000 | 5.000 | Hitting_AB | 4.034 | 4.000 | -0.034 | 0.000 |
| predicted_AVG | 0.262 | 0.250 | 0.200 | Hitting_AVG | 0.260 | 0.500 | -0.010 | -0.250 |
| predicted_BB | 0.485 | 0.000 | 0.000 | Hitting_BB | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 1.220 | 1.000 | 1.000 | Hitting_H | 1.050 | 2.000 | -0.050 | -1.000 |
| predicted_HR | 0.460 | 1.000 | 1.000 | Hitting_HR | 0.143 | 1.000 | 0.857 | 0.000 |
| predicted_OBP | 0.340 | 0.250 | 0.200 | Hitting_OBP | 0.354 | 0.500 | -0.104 | -0.250 |
| predicted_R | 0.603 | 1.000 | 1.000 | Hitting_R | 0.596 | 1.000 | 0.404 | 0.000 |
| predicted_RBI | 1.450 | 2.000 | 1.000 | Hitting_RBI | 0.554 | 4.000 | 1.446 | -2.000 |
| predicted_SLG | 0.645 | 1.000 | 0.800 | Hitting_SLG | 0.418 | 1.250 | 0.582 | -0.250 |
| predicted_SO | 0.713 | 1.000 | 1.000 | Hitting_SO | 0.707 | 0.000 | 0.293 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 1.4500 -> 2.0000 (boost 0.5500, better) |
| Biggest Deboost | predicted_AB: 4.6600 -> 4.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 3 | 4 | 3 | 4 | predicted_R: 0.6030 -> 0.6938 (boost 0.0908, better) | predicted_AB: 4.6600 -> 4.4408 (deboost -0.2192, worse) | Final model input calibrated with local 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.6393 -> 0.6123 (deboost -0.0270, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_AB: 4.4408 -> 5.0000 (boost 0.5592, better) | predicted_BB: 0.4308 -> 0.0000 (deboost -0.4308, worse) | AB rounded to 5 (raw=4.66), rates preserved: AVG=0.261 HR/AB=0.091 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6842 -> 1.0000 (boost 0.3158, 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 | 3 | 2 | 1 | 2 | 1 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5840 -> 0.6123 (boost 0.0283, 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.199,
"predicted_3B": 0.007,
"predicted_AB": 4.66,
"predicted_AVG": 0.262,
"predicted_BB": 0.485,
"predicted_H": 1.22,
"predicted_HR": 0.46,
"predicted_OBP": 0.34,
"predicted_R": 0.603,
"predicted_RBI": 1.45,
"predicted_SLG": 0.645,
"predicted_SO": 0.713
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2221,
"predicted_3B": 0.0061,
"predicted_AB": 4.4408,
"predicted_AVG": 0.2774,
"predicted_BB": 0.4296,
"predicted_H": 1.227,
"predicted_HBP": 0.094,
"predicted_HR": 0.4238,
"predicted_OBP": 0.3506,
"predicted_R": 0.6938,
"predicted_RBI": 1.261,
"predicted_SLG": 0.6393,
"predicted_SO": 0.6763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.2221,
"delta": 0.0231,
"percent_delta": 0.1161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.4408,
"delta": -0.2192,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2774,
"delta": 0.0154,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 0.4296,
"delta": -0.0554,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.227,
"delta": 0.007,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.46,
"after": 0.4238,
"delta": -0.0362,
"percent_delta": -0.0787,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3506,
"delta": 0.0106,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.6938,
"delta": 0.0908,
"percent_delta": 0.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.45,
"after": 1.261,
"delta": -0.189,
"percent_delta": -0.1303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.645,
"after": 0.6393,
"delta": -0.0057,
"percent_delta": -0.0088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 0.6763,
"delta": -0.0367,
"percent_delta": -0.0515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.603,
"after": 0.6938,
"delta": 0.0908,
"percent_delta": 0.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.66,
"after": 4.4408,
"delta": -0.2192,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2221,
"predicted_3B": 0.0061,
"predicted_AB": 4.4408,
"predicted_AVG": 0.2742,
"predicted_BB": 0.4308,
"predicted_H": 1.2176,
"predicted_HBP": 0.094,
"predicted_HR": 0.4225,
"predicted_OBP": 0.3384,
"predicted_R": 0.6842,
"predicted_RBI": 1.2436,
"predicted_SLG": 0.6123,
"predicted_SO": 0.6743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2221,
"after": 0.2221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4408,
"after": 4.4408,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2774,
"after": 0.2742,
"delta": -0.0032,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4296,
"after": 0.4308,
"delta": 0.0012,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.227,
"after": 1.2176,
"delta": -0.0094,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4238,
"after": 0.4225,
"delta": -0.0013,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3506,
"after": 0.3384,
"delta": -0.0122,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6938,
"after": 0.6842,
"delta": -0.0096,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.261,
"after": 1.2436,
"delta": -0.0174,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6393,
"after": 0.6123,
"delta": -0.027,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6763,
"after": 0.6743,
"delta": -0.002,
"percent_delta": -0.003,
"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.6393,
"after": 0.6123,
"delta": -0.027,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.66), rates preserved: AVG=0.261 HR/AB=0.091",
"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.2221,
"after": 0.0,
"delta": -0.2221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4408,
"after": 5.0,
"delta": 0.5592,
"percent_delta": 0.1259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4308,
"after": 0.0,
"delta": -0.4308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2176,
"after": 1.0,
"delta": -0.2176,
"percent_delta": -0.1787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4225,
"after": 0.0,
"delta": -0.4225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2436,
"after": 1.0,
"delta": -0.2436,
"percent_delta": -0.1959,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6743,
"after": 1.0,
"delta": 0.3257,
"percent_delta": 0.483,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4408,
"after": 5.0,
"delta": 0.5592,
"percent_delta": 0.1259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4308,
"after": 0.0,
"delta": -0.4308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"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.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 5.0,
"predicted_AVG": 0.261,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.329,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.584,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2742,
"after": 0.261,
"delta": -0.0132,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3384,
"after": 0.329,
"delta": -0.0094,
"percent_delta": -0.0278,
"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.6123,
"after": 0.584,
"delta": -0.0283,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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.2742,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3384,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6123,
"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.261,
"after": 0.2742,
"delta": 0.0132,
"percent_delta": 0.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.329,
"after": 0.3384,
"delta": 0.0094,
"percent_delta": 0.0285,
"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.584,
"after": 0.6123,
"delta": 0.0283,
"percent_delta": 0.0485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.584,
"after": 0.6123,
"delta": 0.0283,
"percent_delta": 0.0485,
"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.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2742,
"delta": 0.0122,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.0,
"delta": -0.22,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3384,
"delta": -0.0016,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.45,
"after": 2.0,
"delta": 0.55,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.645,
"after": 0.6123,
"delta": -0.0327,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 1.0,
"delta": 0.287,
"percent_delta": 0.4025,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.45,
"after": 2.0,
"delta": 0.55,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.66,
"after": 4.0,
"delta": -0.66,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 4.660 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.485 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.460 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 1.450 | - |
| predicted_SLG | 0.645 | - |
| predicted_SO | 0.713 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.023 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 4.441 | -0.219 |
| predicted_AVG | 0.277 | 0.015 |
| predicted_BB | 0.430 | -0.055 |
| predicted_H | 1.227 | 0.007 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.424 | -0.036 |
| predicted_OBP | 0.351 | 0.011 |
| predicted_R | 0.694 | 0.091 |
| predicted_RBI | 1.261 | -0.189 |
| predicted_SLG | 0.639 | -0.006 |
| predicted_SO | 0.676 | -0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 4.441 | 0.000 |
| predicted_AVG | 0.274 | -0.003 |
| predicted_BB | 0.431 | 0.001 |
| predicted_H | 1.218 | -0.009 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.422 | -0.001 |
| predicted_OBP | 0.338 | -0.012 |
| predicted_R | 0.684 | -0.010 |
| predicted_RBI | 1.244 | -0.017 |
| predicted_SLG | 0.612 | -0.027 |
| predicted_SO | 0.674 | -0.002 |
AB rounded to 5 (raw=4.66), rates preserved: AVG=0.261 HR/AB=0.091
| 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 | 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.222 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 5.000 | 0.559 |
| predicted_AVG | 0.261 | -0.013 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 1.000 | -0.218 |
| predicted_HR | 0.000 | -0.422 |
| predicted_OBP | 0.329 | -0.009 |
| predicted_R | 1.000 | 0.316 |
| predicted_RBI | 1.000 | -0.244 |
| predicted_SLG | 0.584 | -0.028 |
| predicted_SO | 1.000 | 0.326 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 10.000 | 2.000 | 0.000 | 5.000 | 11.000 | 7.000 | 0.000 | 2.000 | 0.4348 | 0.4583 | 1.1739 | 0.4348 | 0.2174 | 0.4783 | 0.0000 | 0.0870 |
| last_10 | 0.20 | 10 | - | 43.000 | 12.000 | 3.000 | 0.000 | 5.000 | 14.000 | 10.000 | 3.000 | 5.000 | 0.2791 | 0.3333 | 0.6977 | 0.2791 | 0.1163 | 0.3256 | 0.0698 | 0.1163 |
| season | 0.60 | 136 | - | 543.000 | 142.000 | 27.000 | 1.000 | 24.000 | 81.000 | 82.000 | 66.000 | 97.000 | 0.2615 | 0.3478 | 0.4475 | 0.2615 | 0.0442 | 0.1492 | 0.1216 | 0.1786 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2520 |
| predicted_3B | 0.0050 |
| predicted_AB | 4.1580 |
| predicted_AVG | 0.2973 |
| predicted_BB | 0.3580 |
| predicted_H | 1.2360 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.3770 |
| predicted_OBP | 0.3642 |
| predicted_R | 0.8110 |
| predicted_RBI | 1.0170 |
| predicted_SLG | 0.6320 |
| predicted_SO | 0.6290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1990 | 0.2520 | 0.2221 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 4.6600 | 4.1580 | 4.4408 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2973 | 0.2774 | model_form_blend |
| predicted_BB | 0.4850 | 0.3580 | 0.4296 | model_form_blend |
| predicted_H | 1.2200 | 1.2360 | 1.2270 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.4600 | 0.3770 | 0.4238 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3642 | 0.3506 | model_form_blend |
| predicted_R | 0.6030 | 0.8110 | 0.6938 | model_form_blend |
| predicted_RBI | 1.4500 | 1.0170 | 1.2610 | model_form_blend |
| predicted_SLG | 0.6450 | 0.6320 | 0.6393 | model_form_blend |
| predicted_SO | 0.7130 | 0.6290 | 0.6763 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 581 |
| Season rows before report date | 581 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.346 |
| sl_xwoba | 0.317 |
| sl_xba | 0.246 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.184 | 1.000 | 1.000 | Hitting_2B | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.050 | 3.000 | 4.000 | Hitting_AB | 3.906 | 4.000 | -0.906 | -1.000 |
| predicted_AVG | 0.178 | 0.667 | 0.250 | Hitting_AVG | 0.241 | 0.000 | 0.426 | 0.667 |
| predicted_BB | 0.566 | 0.000 | 1.000 | Hitting_BB | 0.590 | 0.000 | -0.590 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.720 | 2.000 | 1.000 | Hitting_H | 0.941 | 0.000 | 1.059 | 2.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | 0.880 | 1.000 |
| predicted_OBP | 0.268 | 0.750 | 0.400 | Hitting_OBP | 0.350 | 0.000 | 0.400 | 0.750 |
| predicted_R | 0.449 | 1.000 | 0.000 | Hitting_R | 0.457 | 0.000 | 0.543 | 1.000 |
| predicted_RBI | 0.400 | 1.000 | 0.000 | Hitting_RBI | 0.524 | 0.000 | 0.476 | 1.000 |
| predicted_SLG | 0.340 | 2.000 | 0.500 | Hitting_SLG | 0.384 | 0.000 | 1.616 | 2.000 |
| predicted_SO | 1.044 | 0.000 | 1.000 | Hitting_SO | 1.043 | 2.000 | -1.043 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.7200 -> 2.0000 (boost 1.2800, better) |
| Biggest Deboost | predicted_AB: 4.0500 -> 3.0000 (deboost -1.0500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 2 | 1 | predicted_SO: 1.0440 -> 1.1125 (boost 0.0685, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3365 -> 0.3150 (deboost -0.0215, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5558 -> 1.0000 (boost 0.4442, better) | predicted_RBI: 0.3820 -> 0.0000 (deboost -0.3820, worse) | AB rounded to 4 (raw=4.05), rates preserved: AVG=0.182 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4479 -> 0.0000 (deboost -0.4479, 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 | 9 | 6 | 3 | 7 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "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.184,
"predicted_3B": 0.015,
"predicted_AB": 4.05,
"predicted_AVG": 0.178,
"predicted_BB": 0.566,
"predicted_H": 0.72,
"predicted_HR": 0.1,
"predicted_OBP": 0.268,
"predicted_R": 0.449,
"predicted_RBI": 0.4,
"predicted_SLG": 0.34,
"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.2097,
"predicted_3B": 0.0128,
"predicted_AB": 4.0216,
"predicted_AVG": 0.1849,
"predicted_BB": 0.5542,
"predicted_H": 0.7431,
"predicted_HBP": 0.069,
"predicted_HR": 0.0983,
"predicted_OBP": 0.2801,
"predicted_R": 0.4542,
"predicted_RBI": 0.3873,
"predicted_SLG": 0.3365,
"predicted_SO": 1.1125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.2097,
"delta": 0.0257,
"percent_delta": 0.1397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0128,
"delta": -0.0022,
"percent_delta": -0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 4.0216,
"delta": -0.0284,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.178,
"after": 0.1849,
"delta": 0.0069,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.5542,
"delta": -0.0118,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7431,
"delta": 0.0231,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0983,
"delta": -0.0017,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2801,
"delta": 0.0121,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.449,
"after": 0.4542,
"delta": 0.0052,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3873,
"delta": -0.0127,
"percent_delta": -0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3365,
"delta": -0.0035,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.044,
"after": 1.1125,
"delta": 0.0685,
"percent_delta": 0.0656,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.044,
"after": 1.1125,
"delta": 0.0685,
"percent_delta": 0.0656,
"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": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2097,
"predicted_3B": 0.0128,
"predicted_AB": 4.0216,
"predicted_AVG": 0.1834,
"predicted_BB": 0.5558,
"predicted_H": 0.7374,
"predicted_HBP": 0.069,
"predicted_HR": 0.098,
"predicted_OBP": 0.2825,
"predicted_R": 0.4479,
"predicted_RBI": 0.382,
"predicted_SLG": 0.315,
"predicted_SO": 1.1093
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2097,
"after": 0.2097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0128,
"after": 0.0128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0216,
"after": 4.0216,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1849,
"after": 0.1834,
"delta": -0.0015,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5542,
"after": 0.5558,
"delta": 0.0016,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7431,
"after": 0.7374,
"delta": -0.0057,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.069,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0983,
"after": 0.098,
"delta": -0.0003,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2801,
"after": 0.2825,
"delta": 0.0024,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4542,
"after": 0.4479,
"delta": -0.0063,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3873,
"after": 0.382,
"delta": -0.0053,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3365,
"after": 0.315,
"delta": -0.0215,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1125,
"after": 1.1093,
"delta": -0.0032,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3365,
"after": 0.315,
"delta": -0.0215,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.05), rates preserved: AVG=0.182 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2097,
"after": 0.0,
"delta": -0.2097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0128,
"after": 0.0,
"delta": -0.0128,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0216,
"after": 4.0,
"delta": -0.0216,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7374,
"after": 1.0,
"delta": 0.2626,
"percent_delta": 0.3561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"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": 1.1093,
"after": 1.0,
"delta": -0.1093,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4479,
"after": 0.0,
"delta": -0.4479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4479,
"after": 0.0,
"delta": -0.4479,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.182,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.313,
"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.1834,
"after": 0.182,
"delta": -0.0014,
"percent_delta": -0.0076,
"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.2825,
"after": 0.286,
"delta": 0.0035,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.313,
"delta": -0.002,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1834,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2825,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.315,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.182,
"after": 0.1834,
"delta": 0.0014,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2825,
"delta": -0.0035,
"percent_delta": -0.0122,
"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.313,
"after": 0.315,
"delta": 0.002,
"percent_delta": 0.0063,
"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.184,
"after": 1.0,
"delta": 0.816,
"percent_delta": 4.4348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 3.0,
"delta": -1.05,
"percent_delta": -0.2593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.178,
"after": 0.1834,
"delta": 0.0054,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.0,
"delta": -0.566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2825,
"delta": 0.0145,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.449,
"after": 1.0,
"delta": 0.551,
"percent_delta": 1.2272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.315,
"delta": -0.025,
"percent_delta": -0.0735,
"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": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 3.0,
"delta": -1.05,
"percent_delta": -0.2593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.178 | - |
| predicted_BB | 0.566 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.268 | - |
| predicted_R | 0.449 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.340 | - |
| 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.210 | 0.026 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.022 | -0.028 |
| predicted_AVG | 0.185 | 0.007 |
| predicted_BB | 0.554 | -0.012 |
| predicted_H | 0.743 | 0.023 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.280 | 0.012 |
| predicted_R | 0.454 | 0.005 |
| predicted_RBI | 0.387 | -0.013 |
| predicted_SLG | 0.337 | -0.004 |
| predicted_SO | 1.113 | 0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.022 | 0.000 |
| predicted_AVG | 0.183 | -0.002 |
| predicted_BB | 0.556 | 0.002 |
| predicted_H | 0.737 | -0.006 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.098 | -0.000 |
| predicted_OBP | 0.282 | 0.002 |
| predicted_R | 0.448 | -0.006 |
| predicted_RBI | 0.382 | -0.005 |
| predicted_SLG | 0.315 | -0.022 |
| predicted_SO | 1.109 | -0.003 |
AB rounded to 4 (raw=4.05), rates preserved: AVG=0.182 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.210 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.022 |
| predicted_AVG | 0.182 | -0.001 |
| predicted_BB | 1.000 | 0.444 |
| predicted_H | 1.000 | 0.263 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.286 | 0.004 |
| predicted_R | 0.000 | -0.448 |
| predicted_RBI | 0.000 | -0.382 |
| predicted_SLG | 0.313 | -0.002 |
| predicted_SO | 1.000 | -0.109 |
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 | 3.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | - | 23.000 | 2.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.0870 | 0.1250 | 0.1739 | 0.0870 | 0.0000 | 0.0000 | 0.0435 | 0.3478 |
| last_10 | 0.20 | 10 | - | 39.000 | 6.000 | 3.000 | 0.000 | 1.000 | 3.000 | 7.000 | 8.000 | 14.000 | 0.1538 | 0.3125 | 0.3077 | 0.1538 | 0.0256 | 0.0769 | 0.2051 | 0.3590 |
| season | 0.60 | 136 | - | 520.000 | 124.000 | 25.000 | 2.000 | 16.000 | 66.000 | 61.000 | 77.000 | 142.000 | 0.2385 | 0.3464 | 0.3865 | 0.2385 | 0.0308 | 0.1269 | 0.1481 | 0.2731 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2430 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9850 |
| predicted_AVG | 0.1939 |
| predicted_BB | 0.5390 |
| predicted_H | 0.7730 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.2958 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.3319 |
| predicted_SO | 1.2010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.2430 | 0.2097 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0128 | model_form_blend |
| predicted_AB | 4.0500 | 3.9850 | 4.0216 | model_form_blend |
| predicted_AVG | 0.1780 | 0.1939 | 0.1849 | model_form_blend |
| predicted_BB | 0.5660 | 0.5390 | 0.5542 | model_form_blend |
| predicted_H | 0.7200 | 0.7730 | 0.7431 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.1000 | 0.0960 | 0.0983 | model_form_blend |
| predicted_OBP | 0.2680 | 0.2958 | 0.2801 | model_form_blend |
| predicted_R | 0.4490 | 0.4610 | 0.4542 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3710 | 0.3873 | model_form_blend |
| predicted_SLG | 0.3400 | 0.3319 | 0.3365 | model_form_blend |
| predicted_SO | 1.0440 | 1.2010 | 1.1125 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 576 |
| Season rows before report date | 576 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 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 | 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 | 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 | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.329 |
| sl_xwoba | 0.328 |
| sl_xba | 0.229 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 25.9 |
| 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.193 | 0.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.985 | 3.000 | 4.000 | Hitting_AB | 4.141 | 4.000 | -1.141 | -1.000 |
| predicted_AVG | 0.262 | 0.333 | 0.250 | Hitting_AVG | 0.272 | 0.000 | 0.061 | 0.333 |
| predicted_BB | 0.296 | 1.000 | 0.000 | Hitting_BB | 0.342 | 0.000 | 0.658 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.044 | 1.000 | 1.000 | Hitting_H | 1.127 | 0.000 | -0.127 | 1.000 |
| predicted_HR | 0.059 | 1.000 | 0.000 | Hitting_HR | 0.063 | 0.000 | 0.937 | 1.000 |
| predicted_OBP | 0.313 | 0.500 | 0.250 | Hitting_OBP | 0.329 | 0.000 | 0.171 | 0.500 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.463 | 0.000 | 0.537 | 1.000 |
| predicted_RBI | 0.459 | 1.000 | 0.000 | Hitting_RBI | 0.510 | 0.000 | 0.490 | 1.000 |
| predicted_SLG | 0.359 | 1.333 | 0.250 | Hitting_SLG | 0.378 | 0.000 | 0.955 | 1.333 |
| predicted_SO | 0.385 | 0.000 | 0.000 | Hitting_SO | 0.367 | 1.000 | -0.367 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.0590 -> 1.0000 (boost 0.9410, better) |
| Biggest Deboost | predicted_AB: 3.9850 -> 3.0000 (deboost -0.9850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3130 -> 0.3048 (deboost -0.0082, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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_RBI: 0.4604 -> 0.0000 (deboost -0.4604, worse) | AB rounded to 4 (raw=3.98), rates preserved: AVG=0.256 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3885 -> 0.0000 (deboost -0.3885, 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 | 5 | 4 | 1 | 4 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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.193,
"predicted_3B": 0.007,
"predicted_AB": 3.985,
"predicted_AVG": 0.262,
"predicted_BB": 0.296,
"predicted_H": 1.044,
"predicted_HR": 0.059,
"predicted_OBP": 0.313,
"predicted_R": 0.4,
"predicted_RBI": 0.459,
"predicted_SLG": 0.359,
"predicted_SO": 0.385
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1599,
"predicted_3B": 0.0061,
"predicted_AB": 3.9588,
"predicted_AVG": 0.2593,
"predicted_BB": 0.2707,
"predicted_H": 1.0261,
"predicted_HBP": 0.022,
"predicted_HR": 0.076,
"predicted_OBP": 0.3048,
"predicted_R": 0.3939,
"predicted_RBI": 0.4668,
"predicted_SLG": 0.3608,
"predicted_SO": 0.4316
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1599,
"delta": -0.0331,
"percent_delta": -0.1715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.985,
"after": 3.9588,
"delta": -0.0262,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2593,
"delta": -0.0027,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.2707,
"delta": -0.0253,
"percent_delta": -0.0855,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.044,
"after": 1.0261,
"delta": -0.0179,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.076,
"delta": 0.017,
"percent_delta": 0.2881,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3048,
"delta": -0.0082,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.3939,
"delta": -0.0061,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.4668,
"delta": 0.0078,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3608,
"delta": 0.0018,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.385,
"after": 0.4316,
"delta": 0.0466,
"percent_delta": 0.121,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.313,
"after": 0.3048,
"delta": -0.0082,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 135
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1599,
"predicted_3B": 0.0061,
"predicted_AB": 3.9588,
"predicted_AVG": 0.2572,
"predicted_BB": 0.2715,
"predicted_H": 1.0182,
"predicted_HBP": 0.022,
"predicted_HR": 0.0758,
"predicted_OBP": 0.3049,
"predicted_R": 0.3885,
"predicted_RBI": 0.4604,
"predicted_SLG": 0.3581,
"predicted_SO": 0.4303
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1599,
"after": 0.1599,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9588,
"after": 3.9588,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2593,
"after": 0.2572,
"delta": -0.0021,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2707,
"after": 0.2715,
"delta": 0.0008,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0261,
"after": 1.0182,
"delta": -0.0079,
"percent_delta": -0.0077,
"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.076,
"after": 0.0758,
"delta": -0.0002,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3048,
"after": 0.3049,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3939,
"after": 0.3885,
"delta": -0.0054,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4668,
"after": 0.4604,
"delta": -0.0064,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3608,
"after": 0.3581,
"delta": -0.0027,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4316,
"after": 0.4303,
"delta": -0.0013,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.98), rates preserved: AVG=0.256 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1599,
"after": 0.0,
"delta": -0.1599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9588,
"after": 4.0,
"delta": 0.0412,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2715,
"after": 0.0,
"delta": -0.2715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0182,
"after": 1.0,
"delta": -0.0182,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0758,
"after": 0.0,
"delta": -0.0758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4604,
"after": 0.0,
"delta": -0.4604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4303,
"after": 0.0,
"delta": -0.4303,
"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_RBI",
"before": 0.4604,
"after": 0.0,
"delta": -0.4604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.3885,
"after": 0.0,
"delta": -0.3885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3885,
"after": 0.0,
"delta": -0.3885,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"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.256,
"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.356,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2572,
"after": 0.256,
"delta": -0.0012,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3049,
"after": 0.309,
"delta": 0.0041,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3581,
"after": 0.356,
"delta": -0.0021,
"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": 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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2572,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3049,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3581,
"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.256,
"after": 0.2572,
"delta": 0.0012,
"percent_delta": 0.0047,
"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": 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.309,
"after": 0.3049,
"delta": -0.0041,
"percent_delta": -0.0134,
"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.356,
"after": 0.3581,
"delta": 0.0021,
"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": 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.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.985,
"after": 3.0,
"delta": -0.985,
"percent_delta": -0.2472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2572,
"delta": -0.0048,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 1.0,
"delta": 0.704,
"percent_delta": 2.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.044,
"after": 1.0,
"delta": -0.044,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.313,
"after": 0.3049,
"delta": -0.0081,
"percent_delta": -0.0259,
"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.459,
"after": 1.0,
"delta": 0.541,
"percent_delta": 1.1786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3581,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.985,
"after": 3.0,
"delta": -0.985,
"percent_delta": -0.2472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.985 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.296 | - |
| predicted_H | 1.044 | - |
| predicted_HR | 0.059 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.459 | - |
| predicted_SLG | 0.359 | - |
| predicted_SO | 0.385 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.033 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.959 | -0.026 |
| predicted_AVG | 0.259 | -0.003 |
| predicted_BB | 0.271 | -0.025 |
| predicted_H | 1.026 | -0.018 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.076 | 0.017 |
| predicted_OBP | 0.305 | -0.008 |
| predicted_R | 0.394 | -0.006 |
| predicted_RBI | 0.467 | 0.008 |
| predicted_SLG | 0.361 | 0.002 |
| predicted_SO | 0.432 | 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.160 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.959 | 0.000 |
| predicted_AVG | 0.257 | -0.002 |
| predicted_BB | 0.272 | 0.001 |
| predicted_H | 1.018 | -0.008 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.076 | -0.000 |
| predicted_OBP | 0.305 | 0.000 |
| predicted_R | 0.389 | -0.005 |
| predicted_RBI | 0.460 | -0.006 |
| predicted_SLG | 0.358 | -0.003 |
| predicted_SO | 0.430 | -0.001 |
AB rounded to 4 (raw=3.98), rates preserved: AVG=0.256 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 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 | 0.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.160 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.041 |
| predicted_AVG | 0.256 | -0.001 |
| predicted_BB | 0.000 | -0.272 |
| predicted_H | 1.000 | -0.018 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.309 | 0.004 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.460 |
| predicted_SLG | 0.356 | -0.002 |
| predicted_SO | 0.000 | -0.430 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 3.000 | 0.2632 | 0.2857 | 0.4211 | 0.2632 | 0.0526 | 0.1579 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 6.000 | 0.2308 | 0.2381 | 0.3077 | 0.2308 | 0.0256 | 0.1026 | 0.0256 | 0.1538 |
| season | 0.60 | 135 | - | 538.000 | 141.000 | 26.000 | 1.000 | 8.000 | 62.000 | 54.000 | 40.000 | 52.000 | 0.2621 | 0.3147 | 0.3587 | 0.2621 | 0.0149 | 0.1152 | 0.0743 | 0.0966 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9250 |
| predicted_AVG | 0.2557 |
| predicted_BB | 0.2380 |
| predicted_H | 1.0030 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.2942 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.4770 |
| predicted_SLG | 0.3632 |
| predicted_SO | 0.4920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1170 | 0.1599 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.9850 | 3.9250 | 3.9588 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2557 | 0.2593 | model_form_blend |
| predicted_BB | 0.2960 | 0.2380 | 0.2707 | model_form_blend |
| predicted_H | 1.0440 | 1.0030 | 1.0261 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0590 | 0.0980 | 0.0760 | model_form_blend |
| predicted_OBP | 0.3130 | 0.2942 | 0.3048 | model_form_blend |
| predicted_R | 0.4000 | 0.3860 | 0.3939 | model_form_blend |
| predicted_RBI | 0.4590 | 0.4770 | 0.4668 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3632 | 0.3608 | model_form_blend |
| predicted_SO | 0.3850 | 0.4920 | 0.4316 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 559 |
| Season rows before report date | 559 |
| Report year | 2026 |
| Profile rows used | 135 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 8.8 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.323 |
| sl_xba | 0.298 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 12.1 |
| sl_swing_percent | 46.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.196 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.051 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 4.730 | 5.000 | 5.000 | Hitting_AB | 3.903 | 3.000 | 1.097 | 2.000 |
| predicted_AVG | 0.265 | 0.000 | 0.200 | Hitting_AVG | 0.295 | 0.333 | -0.295 | -0.333 |
| predicted_BB | 0.522 | 0.000 | 1.000 | Hitting_BB | 0.559 | 2.000 | -0.559 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 1.250 | 0.000 | 1.000 | Hitting_H | 1.152 | 1.000 | -1.152 | -1.000 |
| predicted_HR | 0.390 | 0.000 | 1.000 | Hitting_HR | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_OBP | 0.394 | 0.000 | 0.333 | Hitting_OBP | 0.393 | 0.600 | -0.393 | -0.600 |
| predicted_R | 0.732 | 1.000 | 1.000 | Hitting_R | 0.753 | 2.000 | 0.247 | -1.000 |
| predicted_RBI | 0.810 | 0.000 | 1.000 | Hitting_RBI | 0.691 | 0.000 | -0.691 | 0.000 |
| predicted_SLG | 0.589 | 0.000 | 0.800 | Hitting_SLG | 0.588 | 0.333 | -0.588 | -0.333 |
| predicted_SO | 1.159 | 2.000 | 1.000 | Hitting_SO | 1.214 | 1.000 | 0.786 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.1590 -> 2.0000 (boost 0.8410, worse) |
| Biggest Deboost | predicted_H: 1.2500 -> 0.0000 (deboost -1.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 | 5 | 3 | 2 | 3 | 2 | predicted_R: 0.7320 -> 0.8363 (boost 0.1043, better) | predicted_AB: 4.7300 -> 4.4529 (deboost -0.2771, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3853 -> 0.3481 (deboost -0.0372, 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.4529 -> 5.0000 (boost 0.5471, better) | predicted_HR: 0.4149 -> 0.0000 (deboost -0.4149, worse) | AB rounded to 5 (raw=4.73), rates preserved: AVG=0.259 HR/AB=0.088 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8248 -> 1.0000 (boost 0.1752, 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 | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5770 -> 0.6126 (boost 0.0356, 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.196,
"predicted_3B": 0.051,
"predicted_AB": 4.73,
"predicted_AVG": 0.265,
"predicted_BB": 0.522,
"predicted_H": 1.25,
"predicted_HR": 0.39,
"predicted_OBP": 0.394,
"predicted_R": 0.732,
"predicted_RBI": 0.81,
"predicted_SLG": 0.589,
"predicted_SO": 1.159
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0427,
"predicted_AB": 4.4529,
"predicted_AVG": 0.2784,
"predicted_BB": 0.4993,
"predicted_H": 1.233,
"predicted_HBP": 0.05,
"predicted_HR": 0.4162,
"predicted_OBP": 0.3853,
"predicted_R": 0.8363,
"predicted_RBI": 0.8458,
"predicted_SLG": 0.6274,
"predicted_SO": 1.1538
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.1742,
"delta": -0.0218,
"percent_delta": -0.1112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0427,
"delta": -0.0083,
"percent_delta": -0.1627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.73,
"after": 4.4529,
"delta": -0.2771,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2784,
"delta": 0.0134,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 0.4993,
"delta": -0.0227,
"percent_delta": -0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 1.233,
"delta": -0.017,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.39,
"after": 0.4162,
"delta": 0.0262,
"percent_delta": 0.0672,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.394,
"after": 0.3853,
"delta": -0.0087,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 0.8363,
"delta": 0.1043,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.8458,
"delta": 0.0358,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.589,
"after": 0.6274,
"delta": 0.0384,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.159,
"after": 1.1538,
"delta": -0.0052,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.732,
"after": 0.8363,
"delta": 0.1043,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.73,
"after": 4.4529,
"delta": -0.2771,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 138
}
},
{
"index": 3,
"step": "team_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.0427,
"predicted_AB": 4.4529,
"predicted_AVG": 0.2748,
"predicted_BB": 0.5007,
"predicted_H": 1.2235,
"predicted_HBP": 0.05,
"predicted_HR": 0.4149,
"predicted_OBP": 0.3481,
"predicted_R": 0.8248,
"predicted_RBI": 0.8341,
"predicted_SLG": 0.6126,
"predicted_SO": 1.1505
},
"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.0427,
"after": 0.0427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4529,
"after": 4.4529,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2784,
"after": 0.2748,
"delta": -0.0036,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4993,
"after": 0.5007,
"delta": 0.0014,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.233,
"after": 1.2235,
"delta": -0.0095,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4162,
"after": 0.4149,
"delta": -0.0013,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3853,
"after": 0.3481,
"delta": -0.0372,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8363,
"after": 0.8248,
"delta": -0.0115,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8458,
"after": 0.8341,
"delta": -0.0117,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6274,
"after": 0.6126,
"delta": -0.0148,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1538,
"after": 1.1505,
"delta": -0.0033,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3853,
"after": 0.3481,
"delta": -0.0372,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.73), rates preserved: AVG=0.259 HR/AB=0.088",
"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.1742,
"after": 0.0,
"delta": -0.1742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0427,
"after": 0.0,
"delta": -0.0427,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4529,
"after": 5.0,
"delta": 0.5471,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5007,
"after": 1.0,
"delta": 0.4993,
"percent_delta": 0.9972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2235,
"after": 1.0,
"delta": -0.2235,
"percent_delta": -0.1827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4149,
"after": 0.0,
"delta": -0.4149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8341,
"after": 1.0,
"delta": 0.1659,
"percent_delta": 0.1989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1505,
"after": 1.0,
"delta": -0.1505,
"percent_delta": -0.1308,
"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.4529,
"after": 5.0,
"delta": 0.5471,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4149,
"after": 0.0,
"delta": -0.4149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.8248,
"after": 1.0,
"delta": 0.1752,
"percent_delta": 0.2124,
"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.8248,
"after": 1.0,
"delta": 0.1752,
"percent_delta": 0.2124,
"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": 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": 5.0,
"predicted_AVG": 0.259,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.577,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2748,
"after": 0.259,
"delta": -0.0158,
"percent_delta": -0.0575,
"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.3481,
"after": 0.335,
"delta": -0.0131,
"percent_delta": -0.0376,
"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.6126,
"after": 0.577,
"delta": -0.0356,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2748,
"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.3481,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6126,
"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.259,
"after": 0.2748,
"delta": 0.0158,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3481,
"delta": 0.0131,
"percent_delta": 0.039,
"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.577,
"after": 0.6126,
"delta": 0.0356,
"percent_delta": 0.0617,
"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.577,
"after": 0.6126,
"delta": 0.0356,
"percent_delta": 0.0617,
"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.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.73,
"after": 5.0,
"delta": 0.27,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2748,
"delta": 0.0098,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 0.0,
"delta": -0.522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.394,
"after": 0.3481,
"delta": -0.0459,
"percent_delta": -0.1165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.732,
"after": 1.0,
"delta": 0.268,
"percent_delta": 0.3661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.589,
"after": 0.6126,
"delta": 0.0236,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.159,
"after": 2.0,
"delta": 0.841,
"percent_delta": 0.7256,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.159,
"after": 2.0,
"delta": 0.841,
"percent_delta": 0.7256,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | - |
| predicted_3B | 0.051 | - |
| predicted_AB | 4.730 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.522 | - |
| predicted_H | 1.250 | - |
| predicted_HR | 0.390 | - |
| predicted_OBP | 0.394 | - |
| predicted_R | 0.732 | - |
| predicted_RBI | 0.810 | - |
| predicted_SLG | 0.589 | - |
| predicted_SO | 1.159 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.043 | -0.008 |
| predicted_AB | 4.453 | -0.277 |
| predicted_AVG | 0.278 | 0.013 |
| predicted_BB | 0.499 | -0.023 |
| predicted_H | 1.233 | -0.017 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.416 | 0.026 |
| predicted_OBP | 0.385 | -0.009 |
| predicted_R | 0.836 | 0.104 |
| predicted_RBI | 0.846 | 0.036 |
| predicted_SLG | 0.627 | 0.038 |
| predicted_SO | 1.154 | -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.174 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 4.453 | 0.000 |
| predicted_AVG | 0.275 | -0.004 |
| predicted_BB | 0.501 | 0.001 |
| predicted_H | 1.224 | -0.010 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.415 | -0.001 |
| predicted_OBP | 0.348 | -0.037 |
| predicted_R | 0.825 | -0.012 |
| predicted_RBI | 0.834 | -0.012 |
| predicted_SLG | 0.613 | -0.015 |
| predicted_SO | 1.151 | -0.003 |
AB rounded to 5 (raw=4.73), rates preserved: AVG=0.259 HR/AB=0.088
| 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 | 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 | 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.174 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 5.000 | 0.547 |
| predicted_AVG | 0.259 | -0.016 |
| predicted_BB | 1.000 | 0.499 |
| predicted_H | 1.000 | -0.224 |
| predicted_HR | 0.000 | -0.415 |
| predicted_OBP | 0.335 | -0.013 |
| predicted_R | 1.000 | 0.175 |
| predicted_RBI | 1.000 | 0.166 |
| predicted_SLG | 0.577 | -0.036 |
| predicted_SO | 1.000 | -0.151 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.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 | 5.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 | - | 23.000 | 8.000 | 0.000 | 0.000 | 5.000 | 8.000 | 9.000 | 2.000 | 6.000 | 0.3478 | 0.4000 | 1.0000 | 0.3478 | 0.2174 | 0.3478 | 0.0870 | 0.2609 |
| last_10 | 0.20 | 10 | - | 44.000 | 13.000 | 1.000 | 0.000 | 6.000 | 11.000 | 11.000 | 4.000 | 11.000 | 0.2955 | 0.3542 | 0.7273 | 0.2954 | 0.1364 | 0.2500 | 0.0909 | 0.2500 |
| season | 0.60 | 138 | - | 531.000 | 150.000 | 27.000 | 7.000 | 38.000 | 91.000 | 101.000 | 72.000 | 160.000 | 0.2825 | 0.3776 | 0.5744 | 0.2825 | 0.0716 | 0.1714 | 0.1356 | 0.3013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0320 |
| predicted_AB | 4.0950 |
| predicted_AVG | 0.2958 |
| predicted_BB | 0.4700 |
| predicted_H | 1.2110 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.4500 |
| predicted_OBP | 0.3741 |
| predicted_R | 0.9710 |
| predicted_RBI | 0.8920 |
| predicted_SLG | 0.6770 |
| predicted_SO | 1.1470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.1460 | 0.1742 | model_form_blend |
| predicted_3B | 0.0510 | 0.0320 | 0.0427 | model_form_blend |
| predicted_AB | 4.7300 | 4.0950 | 4.4529 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2958 | 0.2784 | model_form_blend |
| predicted_BB | 0.5220 | 0.4700 | 0.4993 | model_form_blend |
| predicted_H | 1.2500 | 1.2110 | 1.2330 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.3900 | 0.4500 | 0.4162 | model_form_blend |
| predicted_OBP | 0.3940 | 0.3741 | 0.3853 | model_form_blend |
| predicted_R | 0.7320 | 0.9710 | 0.8363 | model_form_blend |
| predicted_RBI | 0.8100 | 0.8920 | 0.8458 | model_form_blend |
| predicted_SLG | 0.5890 | 0.6770 | 0.6274 | model_form_blend |
| predicted_SO | 1.1590 | 1.1470 | 1.1538 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 580 |
| Season rows before report date | 580 |
| Report year | 2026 |
| Profile rows used | 138 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 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.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.401 |
| sl_xwoba | 0.367 |
| sl_xba | 0.257 |
| sl_xslg | 0.493 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 48.7 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 49.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 1.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 4.000 | Hitting_AB | 3.935 | 3.000 | 0.065 | 1.000 |
| predicted_AVG | 0.226 | 0.250 | 0.250 | Hitting_AVG | 0.275 | 0.000 | -0.025 | 0.250 |
| predicted_BB | 0.570 | 1.000 | 1.000 | Hitting_BB | 0.564 | 2.000 | 0.436 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 1.000 | 1.000 | Hitting_H | 1.081 | 0.000 | -0.081 | 1.000 |
| predicted_HR | 0.200 | 1.000 | 0.000 | Hitting_HR | 0.207 | 0.000 | 0.793 | 1.000 |
| predicted_OBP | 0.394 | 0.400 | 0.400 | Hitting_OBP | 0.369 | 0.400 | 0.031 | 0.000 |
| predicted_R | 0.702 | 1.000 | 1.000 | Hitting_R | 0.714 | 0.000 | 0.286 | 1.000 |
| predicted_RBI | 0.680 | 2.000 | 1.000 | Hitting_RBI | 0.718 | 0.000 | 1.282 | 2.000 |
| predicted_SLG | 0.488 | 1.000 | 0.500 | Hitting_SLG | 0.492 | 0.000 | 0.508 | 1.000 |
| predicted_SO | 1.074 | 1.000 | 1.000 | Hitting_SO | 1.146 | 0.000 | -0.146 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.6800 -> 2.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_2B: 0.2310 -> 0.0000 (deboost -0.2310, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 6 | 2 | 7 | 1 | predicted_R: 0.7020 -> 0.8098 (boost 0.1078, better) | predicted_SO: 1.0740 -> 0.9845 (deboost -0.0895, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.4014 -> 0.3604 (deboost -0.0410, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 4 | 2 | 2 | 2 | 2 | predicted_RBI: 0.6487 -> 1.0000 (boost 0.3513, better) | predicted_2B: 0.2254 -> 0.0000 (deboost -0.2254, worse) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.250 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7986 -> 1.0000 (boost 0.2014, 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 | 2 | 2 | 0 | 2 | 0 | predicted_HR: 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": "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.231,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.226,
"predicted_BB": 0.57,
"predicted_H": 0.91,
"predicted_HR": 0.2,
"predicted_OBP": 0.394,
"predicted_R": 0.702,
"predicted_RBI": 0.68,
"predicted_SLG": 0.488,
"predicted_SO": 1.074
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2254,
"predicted_3B": 0.0004,
"predicted_AB": 3.9518,
"predicted_AVG": 0.2563,
"predicted_BB": 0.6565,
"predicted_H": 1.0108,
"predicted_HBP": 0.021,
"predicted_HR": 0.2139,
"predicted_OBP": 0.4014,
"predicted_R": 0.8098,
"predicted_RBI": 0.6578,
"predicted_SLG": 0.5075,
"predicted_SO": 0.9845
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2254,
"delta": -0.0056,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.9518,
"delta": -0.0682,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2563,
"delta": 0.0303,
"percent_delta": 0.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 0.6565,
"delta": 0.0865,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.0108,
"delta": 0.1008,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2139,
"delta": 0.0139,
"percent_delta": 0.0695,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.394,
"after": 0.4014,
"delta": 0.0074,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 0.8098,
"delta": 0.1078,
"percent_delta": 0.1536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6578,
"delta": -0.0222,
"percent_delta": -0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5075,
"delta": 0.0195,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.074,
"after": 0.9845,
"delta": -0.0895,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.702,
"after": 0.8098,
"delta": 0.1078,
"percent_delta": 0.1536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.074,
"after": 0.9845,
"delta": -0.0895,
"percent_delta": -0.0833,
"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": 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.2254,
"predicted_3B": 0.0004,
"predicted_AB": 3.9518,
"predicted_AVG": 0.2538,
"predicted_BB": 0.6584,
"predicted_H": 1.003,
"predicted_HBP": 0.021,
"predicted_HR": 0.2132,
"predicted_OBP": 0.3604,
"predicted_R": 0.7986,
"predicted_RBI": 0.6487,
"predicted_SLG": 0.4729,
"predicted_SO": 0.9816
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2254,
"after": 0.2254,
"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.9518,
"after": 3.9518,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2563,
"after": 0.2538,
"delta": -0.0025,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6565,
"after": 0.6584,
"delta": 0.0019,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0108,
"after": 1.003,
"delta": -0.0078,
"percent_delta": -0.0077,
"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.2139,
"after": 0.2132,
"delta": -0.0007,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4014,
"after": 0.3604,
"delta": -0.041,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8098,
"after": 0.7986,
"delta": -0.0112,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6578,
"after": 0.6487,
"delta": -0.0091,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5075,
"after": 0.4729,
"delta": -0.0346,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9845,
"after": 0.9816,
"delta": -0.0029,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4014,
"after": 0.3604,
"delta": -0.041,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.250 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2254,
"after": 0.0,
"delta": -0.2254,
"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.9518,
"after": 4.0,
"delta": 0.0482,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6584,
"after": 1.0,
"delta": 0.3416,
"percent_delta": 0.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.003,
"after": 1.0,
"delta": -0.003,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2132,
"after": 0.0,
"delta": -0.2132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9816,
"after": 1.0,
"delta": 0.0184,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2254,
"after": 0.0,
"delta": -0.2254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7986,
"after": 1.0,
"delta": 0.2014,
"percent_delta": 0.2522,
"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.7986,
"after": 1.0,
"delta": 0.2014,
"percent_delta": 0.2522,
"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.249,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.36,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.473,
"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.2538,
"after": 0.249,
"delta": -0.0048,
"percent_delta": -0.0189,
"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.3604,
"after": 0.36,
"delta": -0.0004,
"percent_delta": -0.0011,
"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.4729,
"after": 0.473,
"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_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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.2538,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3604,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4729,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2538,
"delta": 0.0048,
"percent_delta": 0.0193,
"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": 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.36,
"after": 0.3604,
"delta": 0.0004,
"percent_delta": 0.0011,
"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.473,
"after": 0.4729,
"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.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 4.0,
"delta": -0.02,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2538,
"delta": 0.0278,
"percent_delta": 0.123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.394,
"after": 0.3604,
"delta": -0.0336,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 1.0,
"delta": 0.298,
"percent_delta": 0.4245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4729,
"delta": -0.0151,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.074,
"after": 1.0,
"delta": -0.074,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.570 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.394 | - |
| predicted_R | 0.702 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 1.074 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | -0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.952 | -0.068 |
| predicted_AVG | 0.256 | 0.030 |
| predicted_BB | 0.656 | 0.087 |
| predicted_H | 1.011 | 0.101 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.214 | 0.014 |
| predicted_OBP | 0.401 | 0.007 |
| predicted_R | 0.810 | 0.108 |
| predicted_RBI | 0.658 | -0.022 |
| predicted_SLG | 0.507 | 0.019 |
| predicted_SO | 0.985 | -0.090 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.952 | 0.000 |
| predicted_AVG | 0.254 | -0.002 |
| predicted_BB | 0.658 | 0.002 |
| predicted_H | 1.003 | -0.008 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.213 | -0.001 |
| predicted_OBP | 0.360 | -0.041 |
| predicted_R | 0.799 | -0.011 |
| predicted_RBI | 0.649 | -0.009 |
| predicted_SLG | 0.473 | -0.035 |
| predicted_SO | 0.982 | -0.003 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.250 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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.225 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.048 |
| predicted_AVG | 0.249 | -0.005 |
| predicted_BB | 1.000 | 0.342 |
| predicted_H | 1.000 | -0.003 |
| predicted_HR | 0.000 | -0.213 |
| predicted_OBP | 0.360 | -0.000 |
| predicted_R | 1.000 | 0.201 |
| predicted_RBI | 1.000 | 0.351 |
| predicted_SLG | 0.473 | 0.000 |
| predicted_SO | 1.000 | 0.018 |
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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 6.000 | 3.000 | 0.3000 | 0.4615 | 0.6000 | 0.3000 | 0.1000 | 0.1500 | 0.3000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 4.000 | 0.000 | 2.000 | 6.000 | 14.000 | 11.000 | 5.000 | 0.3590 | 0.5000 | 0.6154 | 0.3590 | 0.0513 | 0.1538 | 0.2821 | 0.1282 |
| season | 0.60 | 121 | - | 461.000 | 128.000 | 28.000 | 0.000 | 24.000 | 80.000 | 85.000 | 69.000 | 130.000 | 0.2777 | 0.3743 | 0.4946 | 0.2777 | 0.0521 | 0.1735 | 0.1497 | 0.2820 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2180 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8630 |
| predicted_AVG | 0.2958 |
| predicted_BB | 0.7690 |
| predicted_H | 1.1420 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.2320 |
| predicted_OBP | 0.4110 |
| predicted_R | 0.9500 |
| predicted_RBI | 0.6290 |
| predicted_SLG | 0.5328 |
| predicted_SO | 0.8680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2180 | 0.2254 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 3.8630 | 3.9518 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2958 | 0.2563 | model_form_blend |
| predicted_BB | 0.5700 | 0.7690 | 0.6565 | model_form_blend |
| predicted_H | 0.9100 | 1.1420 | 1.0108 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.2000 | 0.2320 | 0.2139 | model_form_blend |
| predicted_OBP | 0.3940 | 0.4110 | 0.4014 | model_form_blend |
| predicted_R | 0.7020 | 0.9500 | 0.8098 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6290 | 0.6578 | model_form_blend |
| predicted_SLG | 0.4880 | 0.5328 | 0.5075 | model_form_blend |
| predicted_SO | 1.0740 | 0.8680 | 0.9845 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 673548 |
| playerID | 673548 |
| playerName | Seiya Suzuki |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.373 |
| sl_xwoba | 0.342 |
| sl_xba | 0.25 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 10.4 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 40.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.940 | 4.000 | 4.000 | Hitting_AB | 3.748 | 4.000 | 0.252 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.250 | Hitting_AVG | 0.225 | 0.250 | -0.225 | -0.250 |
| predicted_BB | 0.511 | 0.000 | 1.000 | Hitting_BB | 0.540 | 0.000 | -0.540 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.845 | 1.000 | -0.845 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.400 | Hitting_OBP | 0.329 | 0.250 | -0.329 | -0.250 |
| predicted_R | 0.603 | 0.000 | 1.000 | Hitting_R | 0.639 | 0.000 | -0.639 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SLG | 0.410 | 0.000 | 0.250 | Hitting_SLG | 0.433 | 0.250 | -0.433 | -0.250 |
| predicted_SO | 1.267 | 2.000 | 1.000 | Hitting_SO | 1.252 | 1.000 | 0.748 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 1.2670 -> 2.0000 (boost 0.7330, worse) |
| Biggest Deboost | predicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 2 | 1 | predicted_OBP: 0.3070 -> 0.3132 (boost 0.0062, better) | predicted_AB: 3.9400 -> 3.7612 (deboost -0.1788, worse) | Final model input calibrated with local 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.4059 -> 0.4131 (boost 0.0072, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.7612 -> 4.0000 (boost 0.2388, better) | predicted_RBI: 0.4734 -> 0.0000 (deboost -0.4734, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.220 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6020 -> 1.0000 (boost 0.3980, 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_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.3940 -> 0.4131 (boost 0.0191, better) | - | 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.176,
"predicted_3B": 0.015,
"predicted_AB": 3.94,
"predicted_AVG": 0.228,
"predicted_BB": 0.511,
"predicted_H": 0.9,
"predicted_HR": 0.19,
"predicted_OBP": 0.307,
"predicted_R": 0.603,
"predicted_RBI": 0.49,
"predicted_SLG": 0.41,
"predicted_SO": 1.267
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1543,
"predicted_3B": 0.0124,
"predicted_AB": 3.7612,
"predicted_AVG": 0.2318,
"predicted_BB": 0.461,
"predicted_H": 0.8717,
"predicted_HBP": 0.048,
"predicted_HR": 0.1704,
"predicted_OBP": 0.3132,
"predicted_R": 0.6104,
"predicted_RBI": 0.48,
"predicted_SLG": 0.4059,
"predicted_SO": 1.1948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1543,
"delta": -0.0217,
"percent_delta": -0.1233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0124,
"delta": -0.0026,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 3.7612,
"delta": -0.1788,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2318,
"delta": 0.0038,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.511,
"after": 0.461,
"delta": -0.05,
"percent_delta": -0.0978,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8717,
"delta": -0.0283,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1704,
"delta": -0.0196,
"percent_delta": -0.1032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3132,
"delta": 0.0062,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.6104,
"delta": 0.0074,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.48,
"delta": -0.01,
"percent_delta": -0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4059,
"delta": -0.0041,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.267,
"after": 1.1948,
"delta": -0.0722,
"percent_delta": -0.057,
"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_OBP",
"before": 0.307,
"after": 0.3132,
"delta": 0.0062,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.94,
"after": 3.7612,
"delta": -0.1788,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 131
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1543,
"predicted_3B": 0.0124,
"predicted_AB": 3.7612,
"predicted_AVG": 0.23,
"predicted_BB": 0.4623,
"predicted_H": 0.865,
"predicted_HBP": 0.048,
"predicted_HR": 0.1699,
"predicted_OBP": 0.3143,
"predicted_R": 0.602,
"predicted_RBI": 0.4734,
"predicted_SLG": 0.4131,
"predicted_SO": 1.1913
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1543,
"after": 0.1543,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0124,
"after": 0.0124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7612,
"after": 3.7612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2318,
"after": 0.23,
"delta": -0.0018,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.461,
"after": 0.4623,
"delta": 0.0013,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8717,
"after": 0.865,
"delta": -0.0067,
"percent_delta": -0.0077,
"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.1704,
"after": 0.1699,
"delta": -0.0005,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3132,
"after": 0.3143,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6104,
"after": 0.602,
"delta": -0.0084,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4734,
"delta": -0.0066,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.4131,
"delta": 0.0072,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1948,
"after": 1.1913,
"delta": -0.0035,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.4131,
"delta": 0.0072,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.220 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1543,
"after": 0.0,
"delta": -0.1543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0124,
"after": 0.0,
"delta": -0.0124,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7612,
"after": 4.0,
"delta": 0.2388,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4623,
"after": 0.0,
"delta": -0.4623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.865,
"after": 1.0,
"delta": 0.135,
"percent_delta": 0.1561,
"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.1699,
"after": 0.0,
"delta": -0.1699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4734,
"after": 0.0,
"delta": -0.4734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1913,
"after": 1.0,
"delta": -0.1913,
"percent_delta": -0.1606,
"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.7612,
"after": 4.0,
"delta": 0.2388,
"percent_delta": 0.0635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4734,
"after": 0.0,
"delta": -0.4734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.602,
"after": 1.0,
"delta": 0.398,
"percent_delta": 0.6611,
"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.602,
"after": 1.0,
"delta": 0.398,
"percent_delta": 0.6611,
"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": 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": 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_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.22,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.307,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.394,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.22,
"delta": -0.01,
"percent_delta": -0.0435,
"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.3143,
"after": 0.307,
"delta": -0.0073,
"percent_delta": -0.0232,
"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.4131,
"after": 0.394,
"delta": -0.0191,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.23,
"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.3143,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4131,
"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.22,
"after": 0.23,
"delta": 0.01,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3143,
"delta": 0.0073,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4131,
"delta": 0.0191,
"percent_delta": 0.0484,
"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.394,
"after": 0.4131,
"delta": 0.0191,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 4.0,
"delta": 0.06,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.23,
"delta": 0.002,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3143,
"delta": 0.0073,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.0,
"delta": -0.603,
"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.41,
"after": 0.4131,
"delta": 0.0031,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.267,
"after": 2.0,
"delta": 0.733,
"percent_delta": 0.5785,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.267,
"after": 2.0,
"delta": 0.733,
"percent_delta": 0.5785,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.511 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 1.267 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.012 | -0.003 |
| predicted_AB | 3.761 | -0.179 |
| predicted_AVG | 0.232 | 0.004 |
| predicted_BB | 0.461 | -0.050 |
| predicted_H | 0.872 | -0.028 |
| predicted_HBP | 0.048 | - |
| predicted_HR | 0.170 | -0.020 |
| predicted_OBP | 0.313 | 0.006 |
| predicted_R | 0.610 | 0.007 |
| predicted_RBI | 0.480 | -0.010 |
| predicted_SLG | 0.406 | -0.004 |
| predicted_SO | 1.195 | -0.072 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.761 | 0.000 |
| predicted_AVG | 0.230 | -0.002 |
| predicted_BB | 0.462 | 0.001 |
| predicted_H | 0.865 | -0.007 |
| predicted_HBP | 0.048 | 0.000 |
| predicted_HR | 0.170 | -0.001 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.602 | -0.008 |
| predicted_RBI | 0.473 | -0.007 |
| predicted_SLG | 0.413 | 0.007 |
| predicted_SO | 1.191 | -0.004 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.220 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.154 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.239 |
| predicted_AVG | 0.220 | -0.010 |
| predicted_BB | 0.000 | -0.462 |
| predicted_H | 1.000 | 0.135 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.307 | -0.007 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 0.000 | -0.473 |
| predicted_SLG | 0.394 | -0.019 |
| predicted_SO | 1.000 | -0.191 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 5.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 1.000 | 0.000 | 2.000 | 9.000 | 7.000 | 3.000 | 8.000 | 0.2812 | 0.3611 | 0.5000 | 0.2812 | 0.0625 | 0.2812 | 0.0938 | 0.2500 |
| season | 0.60 | 131 | - | 479.000 | 106.000 | 23.000 | 2.000 | 23.000 | 61.000 | 79.000 | 67.000 | 166.000 | 0.2213 | 0.3237 | 0.4217 | 0.2213 | 0.0480 | 0.1273 | 0.1399 | 0.3466 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.5290 |
| predicted_AVG | 0.2367 |
| predicted_BB | 0.3960 |
| predicted_H | 0.8350 |
| predicted_HBP | 0.0480 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3212 |
| predicted_R | 0.6200 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.4005 |
| predicted_SO | 1.1010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1260 | 0.1543 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0124 | model_form_blend |
| predicted_AB | 3.9400 | 3.5290 | 3.7612 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2367 | 0.2318 | model_form_blend |
| predicted_BB | 0.5110 | 0.3960 | 0.4610 | model_form_blend |
| predicted_H | 0.9000 | 0.8350 | 0.8717 | model_form_blend |
| predicted_HBP | - | 0.0480 | 0.0480 | form_only |
| predicted_HR | 0.1900 | 0.1450 | 0.1704 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3212 | 0.3132 | model_form_blend |
| predicted_R | 0.6030 | 0.6200 | 0.6104 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4670 | 0.4800 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4005 | 0.4059 | model_form_blend |
| predicted_SO | 1.2670 | 1.1010 | 1.1948 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 535 |
| Season rows before report date | 535 |
| Report year | 2026 |
| Profile rows used | 131 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.328 |
| sl_xwoba | 0.312 |
| sl_xba | 0.205 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.890 | 1.000 | 0.110 | 2.000 |
| predicted_AVG | 0.329 | 0.000 | 0.333 | Hitting_AVG | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 0.000 | 1.000 | Hitting_H | 0.691 | 0.000 | -0.691 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.333 | Hitting_OBP | 0.337 | 0.000 | -0.087 | 0.250 |
| predicted_R | 0.339 | 0.000 | 0.000 | Hitting_R | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.492 | 0.000 | -0.492 | 0.000 |
| predicted_SLG | 0.622 | 0.000 | 0.333 | Hitting_SLG | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SO | 0.829 | 2.000 | 1.000 | Hitting_SO | 0.941 | 1.000 | 1.059 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8290 -> 2.0000 (boost 1.1710, worse) |
| Biggest Deboost | predicted_R: 0.3390 -> 0.0000 (deboost -0.3390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3100 -> 0.4450 (boost 0.1350, better) | predicted_SLG: 0.6220 -> 0.5804 (deboost -0.0416, worse) | Final model input calibrated with local 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.5804 -> 0.4009 (deboost -0.1795, 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.4416 -> 1.0000 (boost 0.5584, better) | predicted_RBI: 0.3771 -> 0.0000 (deboost -0.3771, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.176 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3319 -> 0.0000 (deboost -0.3319, 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.4009 -> 0.4090 (boost 0.0081, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4090 -> 0.4009 (deboost -0.0081, 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.152,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.329,
"predicted_BB": 0.292,
"predicted_H": 0.31,
"predicted_HR": 0.11,
"predicted_OBP": 0.331,
"predicted_R": 0.339,
"predicted_RBI": 0.26,
"predicted_SLG": 0.622,
"predicted_SO": 0.829
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1357,
"predicted_3B": 0.0004,
"predicted_AB": 2.5029,
"predicted_AVG": 0.297,
"predicted_BB": 0.259,
"predicted_H": 0.445,
"predicted_HBP": 0.033,
"predicted_HR": 0.1422,
"predicted_OBP": 0.3253,
"predicted_R": 0.3365,
"predicted_RBI": 0.3824,
"predicted_SLG": 0.5804,
"predicted_SO": 0.7914
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1357,
"delta": -0.0163,
"percent_delta": -0.1072,
"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.5029,
"delta": 0.0029,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.297,
"delta": -0.032,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.259,
"delta": -0.033,
"percent_delta": -0.113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.445,
"delta": 0.135,
"percent_delta": 0.4355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1422,
"delta": 0.0322,
"percent_delta": 0.2927,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3253,
"delta": -0.0057,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.3365,
"delta": -0.0025,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.3824,
"delta": 0.1224,
"percent_delta": 0.4708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.622,
"after": 0.5804,
"delta": -0.0416,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.7914,
"delta": -0.0376,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.31,
"after": 0.445,
"delta": 0.135,
"percent_delta": 0.4355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.622,
"after": 0.5804,
"delta": -0.0416,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 90
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1357,
"predicted_3B": 0.0004,
"predicted_AB": 2.5029,
"predicted_AVG": 0.1764,
"predicted_BB": 0.2598,
"predicted_H": 0.4416,
"predicted_HBP": 0.033,
"predicted_HR": 0.1418,
"predicted_OBP": 0.2539,
"predicted_R": 0.3319,
"predicted_RBI": 0.3771,
"predicted_SLG": 0.4009,
"predicted_SO": 0.7891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1357,
"after": 0.1357,
"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.5029,
"after": 2.5029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.1764,
"delta": -0.1206,
"percent_delta": -0.4061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.2598,
"delta": 0.0008,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.445,
"after": 0.4416,
"delta": -0.0034,
"percent_delta": -0.0076,
"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.1422,
"after": 0.1418,
"delta": -0.0004,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3253,
"after": 0.2539,
"delta": -0.0714,
"percent_delta": -0.2195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3365,
"after": 0.3319,
"delta": -0.0046,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3824,
"after": 0.3771,
"delta": -0.0053,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5804,
"after": 0.4009,
"delta": -0.1795,
"percent_delta": -0.3093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7914,
"after": 0.7891,
"delta": -0.0023,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5804,
"after": 0.4009,
"delta": -0.1795,
"percent_delta": -0.3093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.176 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1357,
"after": 0.0,
"delta": -0.1357,
"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.5029,
"after": 3.0,
"delta": 0.4971,
"percent_delta": 0.1986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2598,
"after": 0.0,
"delta": -0.2598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4416,
"after": 1.0,
"delta": 0.5584,
"percent_delta": 1.2645,
"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.1418,
"after": 0.0,
"delta": -0.1418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3771,
"after": 0.0,
"delta": -0.3771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7891,
"after": 1.0,
"delta": 0.2109,
"percent_delta": 0.2673,
"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.4416,
"after": 1.0,
"delta": 0.5584,
"percent_delta": 1.2645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3771,
"after": 0.0,
"delta": -0.3771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3319,
"after": 0.0,
"delta": -0.3319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3319,
"after": 0.0,
"delta": -0.3319,
"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.176,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.26,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.409,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1764,
"after": 0.176,
"delta": -0.0004,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2539,
"after": 0.26,
"delta": 0.0061,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.409,
"delta": 0.0081,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4009,
"after": 0.409,
"delta": 0.0081,
"percent_delta": 0.0202,
"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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1764,
"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.2539,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4009,
"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.176,
"after": 0.1764,
"delta": 0.0004,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"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.26,
"after": 0.2539,
"delta": -0.0061,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4009,
"delta": -0.0081,
"percent_delta": -0.0199,
"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.409,
"after": 0.4009,
"delta": -0.0081,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.1764,
"delta": -0.1526,
"percent_delta": -0.4638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.2539,
"delta": -0.0771,
"percent_delta": -0.2329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"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.622,
"after": 0.4009,
"delta": -0.2211,
"percent_delta": -0.3555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.329 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.339 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.622 | - |
| predicted_SO | 0.829 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.503 | 0.003 |
| predicted_AVG | 0.297 | -0.032 |
| predicted_BB | 0.259 | -0.033 |
| predicted_H | 0.445 | 0.135 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.142 | 0.032 |
| predicted_OBP | 0.325 | -0.006 |
| predicted_R | 0.337 | -0.003 |
| predicted_RBI | 0.382 | 0.122 |
| predicted_SLG | 0.580 | -0.042 |
| predicted_SO | 0.791 | -0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.503 | 0.000 |
| predicted_AVG | 0.176 | -0.121 |
| predicted_BB | 0.260 | 0.001 |
| predicted_H | 0.442 | -0.003 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.142 | -0.000 |
| predicted_OBP | 0.254 | -0.071 |
| predicted_R | 0.332 | -0.005 |
| predicted_RBI | 0.377 | -0.005 |
| predicted_SLG | 0.401 | -0.180 |
| predicted_SO | 0.789 | -0.002 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.176 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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.136 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.497 |
| predicted_AVG | 0.176 | -0.000 |
| predicted_BB | 0.000 | -0.260 |
| predicted_H | 1.000 | 0.558 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.260 | 0.006 |
| predicted_R | 0.000 | -0.332 |
| predicted_RBI | 0.000 | -0.377 |
| predicted_SLG | 0.409 | 0.008 |
| predicted_SO | 1.000 | 0.211 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 3.000 | 0.2727 | 0.2727 | 0.5455 | 0.2727 | 0.0909 | 0.3636 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 10 | - | 24.000 | 7.000 | 1.000 | 0.000 | 3.000 | 7.000 | 4.000 | 2.000 | 6.000 | 0.2917 | 0.3704 | 0.7083 | 0.2917 | 0.1250 | 0.2917 | 0.0833 | 0.2500 |
| season | 0.60 | 90 | - | 214.000 | 50.000 | 13.000 | 0.000 | 13.000 | 36.000 | 29.000 | 25.000 | 71.000 | 0.2336 | 0.3169 | 0.4766 | 0.2336 | 0.0607 | 0.1682 | 0.1168 | 0.3318 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.5070 |
| predicted_AVG | 0.2525 |
| predicted_BB | 0.2130 |
| predicted_H | 0.6330 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3173 |
| predicted_R | 0.3330 |
| predicted_RBI | 0.5530 |
| predicted_SLG | 0.5225 |
| predicted_SO | 0.7390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1130 | 0.1357 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.5070 | 2.5029 | model_form_blend |
| predicted_AVG | 0.3290 | 0.2525 | 0.2970 | model_form_blend |
| predicted_BB | 0.2920 | 0.2130 | 0.2590 | model_form_blend |
| predicted_H | 0.3100 | 0.6330 | 0.4450 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1100 | 0.1870 | 0.1422 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3173 | 0.3253 | model_form_blend |
| predicted_R | 0.3390 | 0.3330 | 0.3365 | model_form_blend |
| predicted_RBI | 0.2600 | 0.5530 | 0.3824 | model_form_blend |
| predicted_SLG | 0.6220 | 0.5225 | 0.5804 | model_form_blend |
| predicted_SO | 0.8290 | 0.7390 | 0.7914 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 236 |
| Season rows before report date | 236 |
| Report year | 2026 |
| Profile rows used | 90 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 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 | 20260902_MIL@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-09-02 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.343 |
| sl_xwoba | 0.327 |
| sl_xba | 0.232 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.175 | 0.000 | 0.000 | Hitting_2B | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.990 | 2.000 | 3.000 | Hitting_AB | 3.411 | 4.000 | -1.411 | -2.000 |
| predicted_AVG | 0.264 | 0.000 | 0.333 | Hitting_AVG | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_BB | 0.263 | 1.000 | 0.000 | Hitting_BB | 0.319 | 0.000 | 0.681 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 1.067 | 0.000 | -1.067 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_OBP | 0.317 | 0.500 | 0.333 | Hitting_OBP | 0.372 | 0.000 | 0.128 | 0.500 |
| predicted_R | 0.474 | 1.000 | 0.000 | Hitting_R | 0.656 | 0.000 | 0.344 | 1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_SLG | 0.418 | 0.000 | 0.333 | Hitting_SLG | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SO | 0.544 | 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 | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2630 -> 1.0000 (boost 0.7370, better) |
| Biggest Deboost | predicted_AB: 2.9900 -> 2.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 | 3 | 0 | 3 | 0 | predicted_AB: 2.9900 -> 3.1099 (boost 0.1199, 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.4273 -> 0.4416 (boost 0.0143, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.5274 -> 1.0000 (boost 0.4726, worse) | predicted_RBI: 0.5076 -> 0.0000 (deboost -0.5076, worse) | AB rounded to 3 (raw=3.11), rates preserved: AVG=0.265 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5126 -> 1.0000 (boost 0.4874, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_RBI: 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 | 3 | 2 | 1 | 2 | 1 | predicted_R: 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 | 4 | 2 | 2 | 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.3320 -> 0.3265 (deboost -0.0055, worse) | 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.175,
"predicted_3B": 0.035,
"predicted_AB": 2.99,
"predicted_AVG": 0.264,
"predicted_BB": 0.263,
"predicted_H": 0.79,
"predicted_HR": 0.1,
"predicted_OBP": 0.317,
"predicted_R": 0.474,
"predicted_RBI": 0.5,
"predicted_SLG": 0.418,
"predicted_SO": 0.544
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1533,
"predicted_3B": 0.0358,
"predicted_AB": 3.1099,
"predicted_AVG": 0.267,
"predicted_BB": 0.2822,
"predicted_H": 0.8313,
"predicted_HBP": 0.062,
"predicted_HR": 0.1082,
"predicted_OBP": 0.3284,
"predicted_R": 0.5198,
"predicted_RBI": 0.5147,
"predicted_SLG": 0.4273,
"predicted_SO": 0.5289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.175,
"after": 0.1533,
"delta": -0.0217,
"percent_delta": -0.124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0358,
"delta": 0.0008,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.99,
"after": 3.1099,
"delta": 0.1199,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.267,
"delta": 0.003,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2822,
"delta": 0.0192,
"percent_delta": 0.073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8313,
"delta": 0.0413,
"percent_delta": 0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1082,
"delta": 0.0082,
"percent_delta": 0.082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3284,
"delta": 0.0114,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 0.5198,
"delta": 0.0458,
"percent_delta": 0.0966,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5147,
"delta": 0.0147,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4273,
"delta": 0.0093,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.544,
"after": 0.5289,
"delta": -0.0151,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.99,
"after": 3.1099,
"delta": 0.1199,
"percent_delta": 0.0401,
"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": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1533,
"predicted_3B": 0.0358,
"predicted_AB": 3.1099,
"predicted_AVG": 0.2652,
"predicted_BB": 0.283,
"predicted_H": 0.8249,
"predicted_HBP": 0.062,
"predicted_HR": 0.1079,
"predicted_OBP": 0.3265,
"predicted_R": 0.5126,
"predicted_RBI": 0.5076,
"predicted_SLG": 0.4416,
"predicted_SO": 0.5274
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1533,
"after": 0.1533,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0358,
"after": 0.0358,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1099,
"after": 3.1099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2652,
"delta": -0.0018,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2822,
"after": 0.283,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8313,
"after": 0.8249,
"delta": -0.0064,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1082,
"after": 0.1079,
"delta": -0.0003,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3284,
"after": 0.3265,
"delta": -0.0019,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5198,
"after": 0.5126,
"delta": -0.0072,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5147,
"after": 0.5076,
"delta": -0.0071,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4273,
"after": 0.4416,
"delta": 0.0143,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5289,
"after": 0.5274,
"delta": -0.0015,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_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.4273,
"after": 0.4416,
"delta": 0.0143,
"percent_delta": 0.0335,
"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.11), rates preserved: AVG=0.265 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.1533,
"after": 0.0,
"delta": -0.1533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0358,
"after": 0.0,
"delta": -0.0358,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1099,
"after": 3.0,
"delta": -0.1099,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.0,
"delta": -0.283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8249,
"after": 1.0,
"delta": 0.1751,
"percent_delta": 0.2123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1079,
"after": 0.0,
"delta": -0.1079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5076,
"after": 0.0,
"delta": -0.5076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5274,
"after": 1.0,
"delta": 0.4726,
"percent_delta": 0.8961,
"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.5274,
"after": 1.0,
"delta": 0.4726,
"percent_delta": 0.8961,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5076,
"after": 0.0,
"delta": -0.5076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5126,
"after": 1.0,
"delta": 0.4874,
"percent_delta": 0.9508,
"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.5126,
"after": 1.0,
"delta": 0.4874,
"percent_delta": 0.9508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 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_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": 3.0,
"predicted_AVG": 0.265,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.442,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2652,
"after": 0.265,
"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.3265,
"after": 0.332,
"delta": 0.0055,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4416,
"after": 0.442,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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.2652,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3265,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4416,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.265,
"after": 0.2652,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3265,
"delta": -0.0055,
"percent_delta": -0.0165,
"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.442,
"after": 0.4416,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3265,
"delta": -0.0055,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "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.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.99,
"after": 2.0,
"delta": -0.99,
"percent_delta": -0.3311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2652,
"delta": 0.0012,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3265,
"delta": 0.0095,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4416,
"delta": 0.0236,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.544,
"after": 1.0,
"delta": 0.456,
"percent_delta": 0.8382,
"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.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.99,
"after": 2.0,
"delta": -0.99,
"percent_delta": -0.3311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.035 | - |
| predicted_AB | 2.990 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.474 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 0.544 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | -0.022 |
| predicted_3B | 0.036 | 0.001 |
| predicted_AB | 3.110 | 0.120 |
| predicted_AVG | 0.267 | 0.003 |
| predicted_BB | 0.282 | 0.019 |
| predicted_H | 0.831 | 0.041 |
| predicted_HBP | 0.062 | - |
| predicted_HR | 0.108 | 0.008 |
| predicted_OBP | 0.328 | 0.011 |
| predicted_R | 0.520 | 0.046 |
| predicted_RBI | 0.515 | 0.015 |
| predicted_SLG | 0.427 | 0.009 |
| predicted_SO | 0.529 | -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.153 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 3.110 | 0.000 |
| predicted_AVG | 0.265 | -0.002 |
| predicted_BB | 0.283 | 0.001 |
| predicted_H | 0.825 | -0.006 |
| predicted_HBP | 0.062 | 0.000 |
| predicted_HR | 0.108 | -0.000 |
| predicted_OBP | 0.327 | -0.002 |
| predicted_R | 0.513 | -0.007 |
| predicted_RBI | 0.508 | -0.007 |
| predicted_SLG | 0.442 | 0.014 |
| predicted_SO | 0.527 | -0.002 |
AB rounded to 3 (raw=3.11), rates preserved: AVG=0.265 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.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.153 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 3.000 | -0.110 |
| predicted_AVG | 0.265 | -0.000 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 1.000 | 0.175 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.332 | 0.006 |
| predicted_R | 1.000 | 0.487 |
| predicted_RBI | 0.000 | -0.508 |
| predicted_SLG | 0.442 | 0.000 |
| predicted_SO | 1.000 | 0.473 |
Attached 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 | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 1.000 | 0.2353 | 0.3500 | 0.4118 | 0.2353 | 0.0588 | 0.1765 | 0.1177 | 0.0588 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 0.000 | 1.000 | 2.000 | 9.000 | 8.000 | 4.000 | 4.000 | 0.2703 | 0.3571 | 0.4865 | 0.2703 | 0.0541 | 0.2432 | 0.1081 | 0.1081 |
| season | 0.60 | 57 | - | 169.000 | 49.000 | 10.000 | 2.000 | 4.000 | 24.000 | 27.000 | 15.000 | 31.000 | 0.2899 | 0.3495 | 0.4438 | 0.2899 | 0.0237 | 0.1420 | 0.0888 | 0.1834 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0370 |
| predicted_AB | 3.2830 |
| predicted_AVG | 0.2713 |
| predicted_BB | 0.3100 |
| predicted_H | 0.8910 |
| predicted_HBP | 0.0620 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.3448 |
| predicted_R | 0.5860 |
| predicted_RBI | 0.5360 |
| predicted_SLG | 0.4406 |
| predicted_SO | 0.5070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1750 | 0.1220 | 0.1533 | model_form_blend |
| predicted_3B | 0.0350 | 0.0370 | 0.0358 | model_form_blend |
| predicted_AB | 2.9900 | 3.2830 | 3.1099 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2713 | 0.2670 | model_form_blend |
| predicted_BB | 0.2630 | 0.3100 | 0.2822 | model_form_blend |
| predicted_H | 0.7900 | 0.8910 | 0.8313 | model_form_blend |
| predicted_HBP | - | 0.0620 | 0.0620 | form_only |
| predicted_HR | 0.1000 | 0.1200 | 0.1082 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3448 | 0.3284 | model_form_blend |
| predicted_R | 0.4740 | 0.5860 | 0.5198 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5360 | 0.5147 | model_form_blend |
| predicted_SLG | 0.4180 | 0.4406 | 0.4273 | model_form_blend |
| predicted_SO | 0.5440 | 0.5070 | 0.5289 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 163 |
| Season rows before report date | 163 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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 | 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 | 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 | 20260830_CIN@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-30 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.34 |
| sl_xwoba | 0.306 |
| sl_xba | 0.264 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.134 | 0.000 | 0.000 | Hitting_2B | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.510 | 4.000 | 4.000 | Hitting_AB | 3.605 | 4.000 | 0.395 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | 0.424 | 0.000 | -0.424 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.830 | 0.000 | 1.000 | Hitting_H | 0.977 | 0.000 | -0.977 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_OBP | 0.332 | 0.000 | 0.250 | Hitting_OBP | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_R | 0.515 | 0.000 | 1.000 | Hitting_R | 0.573 | 0.000 | -0.573 | 0.000 |
| predicted_RBI | 0.730 | 0.000 | 1.000 | Hitting_RBI | 0.570 | 1.000 | -0.570 | -1.000 |
| predicted_SLG | 0.410 | 0.000 | 0.250 | Hitting_SLG | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_SO | 0.619 | 2.000 | 1.000 | Hitting_SO | 0.683 | 0.000 | 1.317 | 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.6190 -> 2.0000 (boost 1.3810, worse) |
| Biggest Deboost | predicted_H: 0.8300 -> 0.0000 (deboost -0.8300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_R: 0.5150 -> 0.5732 (boost 0.0582, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3376 -> 0.3228 (deboost -0.0148, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.5190 -> 4.0000 (boost 0.4810, better) | predicted_BB: 0.3967 -> 0.0000 (deboost -0.3967, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.246 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5653 -> 1.0000 (boost 0.4347, 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.4357 -> 0.4430 (boost 0.0073, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 0 | 4 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4430 -> 0.4357 (deboost -0.0073, worse) | 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.134,
"predicted_3B": 0.0,
"predicted_AB": 3.51,
"predicted_AVG": 0.238,
"predicted_BB": 0.381,
"predicted_H": 0.83,
"predicted_HR": 0.16,
"predicted_OBP": 0.332,
"predicted_R": 0.515,
"predicted_RBI": 0.73,
"predicted_SLG": 0.41,
"predicted_SO": 0.619
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1456,
"predicted_3B": 0.0004,
"predicted_AB": 3.519,
"predicted_AVG": 0.2492,
"predicted_BB": 0.3956,
"predicted_H": 0.8741,
"predicted_HBP": 0.02,
"predicted_HR": 0.1737,
"predicted_OBP": 0.3376,
"predicted_R": 0.5732,
"predicted_RBI": 0.7351,
"predicted_SLG": 0.4372,
"predicted_SO": 0.5933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.1456,
"delta": 0.0116,
"percent_delta": 0.0866,
"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.51,
"after": 3.519,
"delta": 0.009,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2492,
"delta": 0.0112,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3956,
"delta": 0.0146,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8741,
"delta": 0.0441,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1737,
"delta": 0.0137,
"percent_delta": 0.0856,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3376,
"delta": 0.0056,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.5732,
"delta": 0.0582,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.7351,
"delta": 0.0051,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4372,
"delta": 0.0272,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 0.5933,
"delta": -0.0257,
"percent_delta": -0.0415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.515,
"after": 0.5732,
"delta": 0.0582,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 97
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1456,
"predicted_3B": 0.0004,
"predicted_AB": 3.519,
"predicted_AVG": 0.2465,
"predicted_BB": 0.3967,
"predicted_H": 0.8674,
"predicted_HBP": 0.02,
"predicted_HR": 0.1732,
"predicted_OBP": 0.3228,
"predicted_R": 0.5653,
"predicted_RBI": 0.725,
"predicted_SLG": 0.4357,
"predicted_SO": 0.5916
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1456,
"after": 0.1456,
"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.519,
"after": 3.519,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2492,
"after": 0.2465,
"delta": -0.0027,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3956,
"after": 0.3967,
"delta": 0.0011,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8741,
"after": 0.8674,
"delta": -0.0067,
"percent_delta": -0.0077,
"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.1737,
"after": 0.1732,
"delta": -0.0005,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3376,
"after": 0.3228,
"delta": -0.0148,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5732,
"after": 0.5653,
"delta": -0.0079,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7351,
"after": 0.725,
"delta": -0.0101,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4372,
"after": 0.4357,
"delta": -0.0015,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5933,
"after": 0.5916,
"delta": -0.0017,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3376,
"after": 0.3228,
"delta": -0.0148,
"percent_delta": -0.0438,
"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.246 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1456,
"after": 0.0,
"delta": -0.1456,
"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.519,
"after": 4.0,
"delta": 0.481,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3967,
"after": 0.0,
"delta": -0.3967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8674,
"after": 1.0,
"delta": 0.1326,
"percent_delta": 0.1529,
"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.1732,
"after": 0.0,
"delta": -0.1732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.725,
"after": 1.0,
"delta": 0.275,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5916,
"after": 1.0,
"delta": 0.4084,
"percent_delta": 0.6903,
"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.519,
"after": 4.0,
"delta": 0.481,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3967,
"after": 0.0,
"delta": -0.3967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5653,
"after": 1.0,
"delta": 0.4347,
"percent_delta": 0.769,
"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.5653,
"after": 1.0,
"delta": 0.4347,
"percent_delta": 0.769,
"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.246,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.328,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.443,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2465,
"after": 0.246,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.328,
"delta": 0.0052,
"percent_delta": 0.0161,
"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.4357,
"after": 0.443,
"delta": 0.0073,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4357,
"after": 0.443,
"delta": 0.0073,
"percent_delta": 0.0168,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2465,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3228,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4357,
"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.246,
"after": 0.2465,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3228,
"delta": -0.0052,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4357,
"delta": -0.0073,
"percent_delta": -0.0165,
"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.443,
"after": 0.4357,
"delta": -0.0073,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.51,
"after": 4.0,
"delta": 0.49,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2465,
"delta": 0.0085,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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.332,
"after": 0.3228,
"delta": -0.0092,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4357,
"delta": 0.0257,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 2.0,
"delta": 1.381,
"percent_delta": 2.231,
"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.619,
"after": 2.0,
"delta": 1.381,
"percent_delta": 2.231,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.510 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.515 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.619 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.519 | 0.009 |
| predicted_AVG | 0.249 | 0.011 |
| predicted_BB | 0.396 | 0.015 |
| predicted_H | 0.874 | 0.044 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.174 | 0.014 |
| predicted_OBP | 0.338 | 0.006 |
| predicted_R | 0.573 | 0.058 |
| predicted_RBI | 0.735 | 0.005 |
| predicted_SLG | 0.437 | 0.027 |
| predicted_SO | 0.593 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.519 | 0.000 |
| predicted_AVG | 0.246 | -0.003 |
| predicted_BB | 0.397 | 0.001 |
| predicted_H | 0.867 | -0.007 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.173 | -0.001 |
| predicted_OBP | 0.323 | -0.015 |
| predicted_R | 0.565 | -0.008 |
| predicted_RBI | 0.725 | -0.010 |
| predicted_SLG | 0.436 | -0.002 |
| predicted_SO | 0.592 | -0.002 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.246 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.146 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.481 |
| predicted_AVG | 0.246 | -0.001 |
| predicted_BB | 0.000 | -0.397 |
| predicted_H | 1.000 | 0.133 |
| predicted_HR | 0.000 | -0.173 |
| predicted_OBP | 0.328 | 0.005 |
| predicted_R | 1.000 | 0.435 |
| predicted_RBI | 1.000 | 0.275 |
| predicted_SLG | 0.443 | 0.007 |
| predicted_SO | 1.000 | 0.408 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 2.000 | 7.000 | 5.000 | 3.000 | 2.000 | 0.2632 | 0.3636 | 0.6316 | 0.2632 | 0.1053 | 0.3684 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 3.000 | 9.000 | 8.000 | 4.000 | 4.000 | 0.2778 | 0.3500 | 0.5833 | 0.2778 | 0.0833 | 0.2500 | 0.1111 | 0.1111 |
| season | 0.60 | 97 | - | 328.000 | 86.000 | 13.000 | 0.000 | 10.000 | 51.000 | 50.000 | 37.000 | 60.000 | 0.2622 | 0.3424 | 0.3933 | 0.2622 | 0.0305 | 0.1555 | 0.1128 | 0.1829 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5310 |
| predicted_AVG | 0.2642 |
| predicted_BB | 0.4150 |
| predicted_H | 0.9330 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3450 |
| predicted_R | 0.6510 |
| predicted_RBI | 0.7420 |
| predicted_SLG | 0.4736 |
| predicted_SO | 0.5590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.1610 | 0.1456 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5100 | 3.5310 | 3.5190 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2642 | 0.2492 | model_form_blend |
| predicted_BB | 0.3810 | 0.4150 | 0.3956 | model_form_blend |
| predicted_H | 0.8300 | 0.9330 | 0.8741 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1600 | 0.1920 | 0.1737 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3450 | 0.3376 | model_form_blend |
| predicted_R | 0.5150 | 0.6510 | 0.5732 | model_form_blend |
| predicted_RBI | 0.7300 | 0.7420 | 0.7351 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4736 | 0.4372 | model_form_blend |
| predicted_SO | 0.6190 | 0.5590 | 0.5933 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 344 |
| Season rows before report date | 344 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 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 | C |
| gameID | 20260901_MIL@CHC |
| game_type | full |
| mlbID | 608348 |
| playerID | 608348 |
| playerName | Carson Kelly |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-01 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.33 |
| sl_xwoba | 0.314 |
| sl_xba | 0.242 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 19.5 |
| 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 | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.400 | 2.000 | 2.600 | 2.000 |
| predicted_ER | 5.000 | 4.000 | 5.000 | Pitching_ER | 3.200 | 5.000 | 0.800 | -1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.400 | 6.000 | 0.600 | 0.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.460 | 5.000 | -0.260 | 0.200 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 5.800 | 7.000 | 1.200 | 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: 5.0000 -> 7.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 5.0000 -> 7.0000 (boost 2.0000, better) | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592332",
"player_name": "Kevin Gausman",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 4.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"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": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"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": 7.0,
"delta": 2.0,
"percent_delta": 0.4,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 16.000 | 27.000 | 7.000 | 29.000 | 5.000 | 5.1429 | 1.2143 | 0.5714 | 0.9643 | 0.2500 | 1.0357 | 0.1786 |
| last_10 | 0.35 | 10 | 54.100 | 31.000 | 59.000 | 19.000 | 56.000 | 5.000 | 5.1350 | 1.4356 | 0.5706 | 1.0859 | 0.3497 | 1.0307 | 0.0920 |
| season | 0.20 | 28 | 155.100 | 78.000 | 155.000 | 43.000 | 156.000 | 20.000 | 4.5193 | 1.2747 | 0.5021 | 0.9979 | 0.2768 | 1.0043 | 0.1288 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6840 |
| predicted_ER | 3.0520 |
| predicted_ERA | 4.9340 |
| predicted_H | 5.6090 |
| predicted_HR | 0.7770 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.6470 |
| predicted_WHIP | 1.3099 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.6840 | 2.6428 | model_form_blend |
| predicted_ER | 4.0000 | 3.0520 | 3.4445 | model_form_blend |
| predicted_ERA | - | 4.9340 | 4.9340 | form_only |
| predicted_H | 6.0000 | 5.6090 | 5.7709 | model_form_blend |
| predicted_HR | 0.0000 | 0.7770 | 0.4553 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 5.6470 | 5.3791 | model_form_blend |
| predicted_WHIP | - | 1.3099 | 1.3099 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 4 |
| SO | 7 |
| HR | 0 |
| BF | 27 |
| Pitches | 117 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 5 |
| Pitching_ERA | 4.52 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 102 |
| Pitching_R | 5 |
| Pitching_SO | 7 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_CIN@CHC |
| game_type | full |
| mlbID | 592332 |
| playerID | 592332 |
| playerName | Kevin Gausman |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-29 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 76.480378839 |
| sl_avg_hyper_speed | 94.303995705 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.552 | 0.000 | -1.552 | 0.000 |
| predicted_ER | 1.000 | 0.000 | 1.000 | Pitching_ER | 2.207 | 0.000 | -2.207 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Pitching_H | 4.448 | 2.000 | -4.448 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 4.307 | 0.200 | -3.207 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 3.345 | 0.000 | -3.345 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607067",
"player_name": "Colin Rea",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.200 | 2.000 | 6.000 | 2.000 | 7.000 | 1.000 | 2.3478 | 1.0435 | 0.2609 | 0.7826 | 0.2609 | 0.9130 | 0.1304 |
| last_10 | 0.35 | 10 | 34.200 | 14.000 | 28.000 | 9.000 | 27.000 | 6.000 | 3.6346 | 1.0673 | 0.4038 | 0.8077 | 0.2596 | 0.7789 | 0.1731 |
| season | 0.20 | 29 | 129.100 | 64.000 | 129.000 | 45.000 | 97.000 | 20.000 | 4.4536 | 1.3454 | 0.4949 | 0.9974 | 0.3479 | 0.7500 | 0.1546 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7490 |
| predicted_ER | 0.9720 |
| predicted_ERA | 3.4045 |
| predicted_H | 2.1970 |
| predicted_HR | 0.3850 |
| predicted_IP | 2.2000 |
| predicted_SO | 2.1820 |
| predicted_WHIP | 1.1462 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7490 | 0.4403 | model_form_blend |
| predicted_ER | 0.0000 | 0.9720 | 0.5714 | model_form_blend |
| predicted_ERA | - | 3.4045 | 3.4045 | form_only |
| predicted_H | 0.0000 | 2.1970 | 1.2915 | model_form_blend |
| predicted_HR | 0.0000 | 0.3850 | 0.2263 | model_form_blend |
| predicted_IP | 1.1000 | 2.2000 | 2.1000 | model_form_blend |
| predicted_SO | 0.0000 | 2.1820 | 1.2827 | model_form_blend |
| predicted_WHIP | - | 1.1462 | 1.1462 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| 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 | 4.45 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 607067 |
| playerID | 607067 |
| playerName | Colin Rea |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.331 |
| sl_xwoba | 0.357 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 79.789810396 |
| sl_avg_hyper_speed | 94.42987745 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_ER | 1.000 | 0.000 | 1.000 | Pitching_ER | 0.344 | 2.000 | -0.344 | -2.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Pitching_H | 0.869 | 1.000 | -0.869 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.892 | 0.100 | 0.108 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.066 | 0.000 | -0.066 | 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 7.000 | 7.000 | 1.000 | 2.000 | 2.000 | 15.7500 | 2.0000 | 1.7500 | 1.7500 | 0.2500 | 0.5000 | 0.5000 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 9.000 | 4.000 | 9.000 | 2.000 | 6.7500 | 1.3929 | 0.7500 | 0.9643 | 0.4286 | 0.9643 | 0.2143 |
| season | 0.20 | 61 | 60.000 | 21.000 | 53.000 | 21.000 | 65.000 | 8.000 | 3.1500 | 1.2333 | 0.3500 | 0.8833 | 0.3500 | 1.0833 | 0.1333 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3070 |
| predicted_ER | 0.8380 |
| predicted_ERA | 8.4381 |
| predicted_H | 1.0780 |
| predicted_HR | 0.2450 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7380 |
| predicted_WHIP | 1.5490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3070 | 0.1615 | model_form_blend |
| predicted_ER | 0.0000 | 0.8380 | 0.4409 | model_form_blend |
| predicted_ERA | - | 8.4381 | 8.4381 | form_only |
| predicted_H | 0.0000 | 1.0780 | 0.5672 | model_form_blend |
| predicted_HR | 0.0000 | 0.2450 | 0.1289 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7380 | 0.8621 | model_form_blend |
| predicted_WHIP | - | 1.5490 | 1.5490 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 61 |
| Season rows before report date | 61 |
| Report year | 2026 |
| Profile rows used | 61 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.15 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 7 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.29 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 50.5 |
| sl_avg_best_speed | 76.935165679 |
| sl_avg_hyper_speed | 94.150615741 |
| 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 | 1.000 | 0.000 | Pitching_BB | 0.386 | 1.000 | 0.614 | 0.000 |
| predicted_ER | 0.000 | 3.000 | 0.000 | Pitching_ER | 0.386 | 0.000 | 2.614 | 3.000 |
| predicted_H | 1.000 | 5.000 | 1.000 | Pitching_H | 0.864 | 2.000 | 4.136 | 3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.895 | 0.200 | 0.105 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.636 | 2.000 | 0.364 | -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": "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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 6.000 | 9.000 | 2.000 | 5.000 | 3.000 | 12.4615 | 2.5385 | 1.3846 | 2.0769 | 0.4615 | 1.1539 | 0.6923 |
| last_10 | 0.35 | 10 | 8.200 | 6.000 | 12.000 | 2.000 | 11.000 | 3.000 | 6.2308 | 1.6154 | 0.6923 | 1.3846 | 0.2308 | 1.2692 | 0.3462 |
| season | 0.20 | 43 | 45.000 | 16.000 | 37.000 | 17.000 | 28.000 | 7.000 | 3.2000 | 1.2000 | 0.3556 | 0.8222 | 0.3778 | 0.6222 | 0.1556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3660 |
| predicted_ER | 0.7800 |
| predicted_ERA | 7.0222 |
| predicted_H | 1.3660 |
| predicted_HR | 0.3510 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0350 |
| predicted_WHIP | 1.7326 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3660 | 0.1828 | model_form_blend |
| predicted_ER | 0.0000 | 0.7800 | 0.3897 | model_form_blend |
| predicted_ERA | - | 7.0222 | 7.0222 | form_only |
| predicted_H | 1.0000 | 1.3660 | 1.1828 | model_form_blend |
| predicted_HR | 0.0000 | 0.3510 | 0.1754 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0350 | 1.0175 | model_form_blend |
| predicted_WHIP | - | 1.7326 | 1.7326 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 9 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260902_MIL@CHC |
| game_type | full |
| mlbID | 663423 |
| playerID | 663423 |
| playerName | Trent Thornton |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.314 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 43.7 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 80.073547647 |
| sl_avg_hyper_speed | 94.379875556 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | OAK 4 - 6 SEA | SEA | 0.637 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | OAK 4 - 6 SEA | SEA | - | 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.6874; empirical=0.5593; weight=0.5000; final=0.6233 |
| P1 | H2H margin as base feature | available | home net=16; abs=16; home delta=0.0923; away delta=-0.0923 |
| 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.0500; recent edge=-0.2040; 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.6373 |
| 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.016 | 5.036 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 6 | 0.6373 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 6 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 6 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4787335938209905,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.048928959563834695,
"confidence": 0.6569200000000001,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.1138400000000002
},
"prediction": "normal_scoring",
"expected_total_runs": 10,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 10,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 295,
"near_bucket_sample_size": 295,
"medium_bucket_sample_size": 609,
"wide_bucket_sample_size": 777,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5593,
"bayesian_hit_rate": 0.5559,
"prior_strength": 18.0,
"raw_pick_probability": 0.6086,
"raw_pick_probability_unclamped": 0.6086,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.6086,
"margin_implied_pick_probability": 0.6086,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.6086,
"score_implied_floor_pick_probability": 0.6045,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.60856,
"uncapped_away_win_probability": 0.39144,
"calibrated_pick_probability": 0.6045,
"predicted_side": "home",
"reliability": 0.942492,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.96262
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.687401,
"sample_size": 295,
"empirical_hit_rate": 0.5593,
"empirical_weight": 0.5,
"blended_confidence": 0.62335,
"published_confidence": 0.637251,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 16.0,
"absolute_net_margin": 16.0,
"home_average_margin": 3.2,
"home_run_delta": 0.0923,
"away_run_delta": -0.0923,
"evidence": [
{
"game_id": null,
"home_margin": 8.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 7.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": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714285714285714,
"runs_scored": 555,
"runs_allowed": 620,
"run_differential": -65,
"run_differential_per_game": -0.4642857142857143,
"available": true
},
"away": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.38571428571428573,
"runs_scored": 611,
"runs_allowed": 805,
"run_differential": -194,
"run_differential_per_game": -1.3857142857142857,
"available": true
},
"run_differential_edge_per_game": 0.9214,
"win_pct_edge": 0.0857,
"quality_edge": 0.6111,
"season_quality_edge": 1.05,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 1.05,
"recent_quality_edge": -0.204,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.6111
},
"margin_adjustment": 0.2567,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": 0.2567,
"cap": 1.4,
"scale": 0.42,
"quality_edge": 0.6111,
"season_quality_edge": 1.05,
"recent_alignment": "conflict",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 4.081,
"home_runs": 5.874,
"home_win_probability": 0.6525
}
}{
"most_likely": [
{
"home_runs": 6,
"away_runs": 4,
"probability": 0.020447278715208243
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.02019291488747933
},
{
"home_runs": 6,
"away_runs": 5,
"probability": 0.019992054664378967
},
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.019743353816729505
},
{
"home_runs": 7,
"away_runs": 4,
"probability": 0.01858678745342786
}
],
"home_distribution": {
"0": 0.02444420167438076,
"1": 0.04245714548091117,
"2": 0.06620000760561866,
"3": 0.09266113177571135,
"4": 0.11643122725339444,
"5": 0.13133293915991798,
"6": 0.1329872990825817,
"7": 0.12088682785034431,
"8": 0.09864614339475646,
"9": 0.07226259513964617,
"10": 0.047520315019035586,
"11": 0.028052875317363276,
"12": 0.014866466810807935,
"13": 0.007072459407170474,
"14": 0.0030204070478722245,
"15": 0.0011579579804874263
},
"away_distribution": {
"0": 0.041619822375117986,
"1": 0.07115036389874542,
"2": 0.10577676518182272,
"3": 0.13675389036949498,
"4": 0.15375362050560187,
"5": 0.15033055639369303,
"6": 0.12782194780653505,
"7": 0.09451480665351664,
"8": 0.06077577728247079,
"9": 0.033985795995658714,
"10": 0.016527251011072653,
"11": 0.006989402526270365
},
"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": "SEA",
"opponent_team": "OAK",
"h2h_net_margin": 18,
"recent_h2h": [
{
"date": "2026-05-27",
"predicted_team_runs": 9,
"opponent_runs": 1,
"margin_for_predicted_team": 8,
"winner": "SEA"
},
{
"date": "2026-05-26",
"predicted_team_runs": 4,
"opponent_runs": 1,
"margin_for_predicted_team": 3,
"winner": "SEA"
},
{
"date": "2026-05-25",
"predicted_team_runs": 9,
"opponent_runs": 2,
"margin_for_predicted_team": 7,
"winner": "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": "SEA",
"guardrail_opponent_team": "OAK",
"output_pre_simulation_winner": "SEA",
"output_opponent_team": "OAK",
"simulation_score_winner": "SEA",
"final_score_winner": "SEA",
"pre_simulation_winner": "SEA",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"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.0394,
"recent_form_edge_home_minus_away": 0.006,
"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": 6,
"winner": "SEA",
"model_winner": "SEA",
"simulation_winner": "SEA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "SEA",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "SEA",
"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": 4,
"home_runs": 6
},
"simulation_score": {
"away_runs": 4,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6111,
"winner": "SEA",
"score_reviewed": {
"away_runs": 4,
"home_runs": 6,
"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": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714285714285714,
"runs_scored": 555,
"runs_allowed": 620,
"run_differential": -65,
"run_differential_per_game": -0.4642857142857143,
"available": true
},
"away": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.38571428571428573,
"runs_scored": 611,
"runs_allowed": 805,
"run_differential": -194,
"run_differential_per_game": -1.3857142857142857,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.2772,
"final_margin": 1.2772,
"margin_cap": 1.5,
"season_quality_edge": 0.6111,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.62335,
"final_confidence": 0.6045,
"calibrated_pick_probability": 0.6045,
"shrinkage_weight": 0.96262,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 1.2772,
"calibration_sample_size": 295,
"calibration_empirical_hit_rate": 0.5593,
"calibration_bayesian_hit_rate": 0.5559,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6111,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 6
},
"margin": 2,
"probability_before": 0.604502,
"margin_implied_home_probability": 0.67,
"shrinkage_weight": 0.96262,
"side_flipped": false,
"applied": true,
"probability_after": 0.637251,
"aligned_pick_probability": 0.637251
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"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.0394,
"recent_form_edge_home_minus_away": 0.006,
"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": 6,
"winner": "SEA",
"model_winner": "SEA",
"simulation_winner": "SEA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "SEA",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "SEA",
"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": 4,
"home_runs": 6
},
"simulation_score": {
"away_runs": 4,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6111,
"winner": "SEA",
"score_reviewed": {
"away_runs": 4,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 6,
"confidence": 0.637251,
"home_win_probability": 0.637251,
"away_win_probability": 0.362749,
"predicted_score_text": "OAK 4 - 6 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": "OAK",
"original_runs": 4,
"run_delta": 0.0686,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": -0.13238290521704452,
"contact": -0.06918773131863162,
"power": -0.09507743984832555,
"discipline": -0.20838672387904672,
"xwoba": 0.30569999999999997,
"recent_xwoba": 0.30569999999999997,
"barrel": 6.403333333333334,
"ab_hard_contact": -0.1700694318871476,
"ab_bat_speed": 70.10044642171832,
"ab_strikeout_rate": 0.229495454037777,
"available_players": 9,
"top_players": [
{
"player_id": "675961",
"player_name": "Alika Williams",
"position": "SS",
"weight": 3.0,
"quality": -0.7529226506495308,
"contact": -1.093669202230526,
"power": -1.2311110198546509,
"discipline": -0.5913238705738706,
"xwoba": 0.247,
"recent_xwoba": 0.247,
"barrel": 0.8,
"ab_hard_contact": -0.956696587569215,
"ab_bat_speed": 67.697408392435,
"ab_strikeout_rate": 0.2644230769230769,
"available": 1.0
},
{
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "1B",
"weight": 3.0,
"quality": -0.19902938643240053,
"contact": 0.09458617031051297,
"power": -0.7037086396445968,
"discipline": 0.3493240740740743,
"xwoba": 0.307,
"recent_xwoba": 0.307,
"barrel": 2.0,
"ab_hard_contact": -0.6326489833681275,
"ab_bat_speed": 67.70316463166463,
"ab_strikeout_rate": 0.1287037037037037,
"available": 1.0
},
{
"player_id": "641680",
"player_name": "Jonah Heim",
"position": "DH",
"weight": 3.0,
"quality": -0.24257339622657997,
"contact": -0.3766217721637575,
"power": -0.20964995874797493,
"discipline": 0.035348754269640376,
"xwoba": 0.295,
"recent_xwoba": 0.295,
"barrel": 7.0,
"ab_hard_contact": -0.3941420321023689,
"ab_bat_speed": 69.17965220700152,
"ab_strikeout_rate": 0.18860759493670887,
"available": 1.0
},
{
"player_id": "691777",
"player_name": "Max Muncy",
"position": "3B",
"weight": 3.0,
"quality": -0.24255217397939774,
"contact": -0.5545078904999073,
"power": 0.1917712181919885,
"discipline": -0.7586759692948215,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 11.0,
"ab_hard_contact": 0.28609103050643353,
"ab_bat_speed": 73.0883923611111,
"ab_strikeout_rate": 0.3549180327868852,
"available": 1.0
},
{
"player_id": "661531",
"player_name": "Brian Serven",
"position": "C",
"weight": 3.0,
"quality": 0.021922493188362455,
"contact": -0.0378126468692208,
"power": 0.6436111223760499,
"discipline": -0.8647233044733043,
"xwoba": 0.317,
"recent_xwoba": 0.317,
"barrel": 11.9,
"ab_hard_contact": 0.9206033999019434,
"ab_bat_speed": 69.69229797979798,
"ab_strikeout_rate": 0.18939393939393936,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "807739",
"player_name": "Kade Anderson",
"quality": 0.0,
"contact": 1.033905911238087,
"command": -0.5599721611721612,
"movement": -1.3094285714285714,
"xwoba": 0.235,
"whiff": 22.4,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "SEA",
"original_runs": 6,
"run_delta": -0.054,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 40.0,
"quality": 0.18549020167162908,
"contact": -0.17037657190788225,
"power": -0.12641897513648062,
"discipline": 0.143338336153687,
"xwoba": 0.318775,
"recent_xwoba": 0.318775,
"barrel": 8.0725,
"ab_hard_contact": -0.037398550348664836,
"ab_bat_speed": 71.03091052873705,
"ab_strikeout_rate": 0.22464744681334606,
"available_players": 8,
"top_players": [
{
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"weight": 4.0,
"quality": 0.7711001594079304,
"contact": 0.7827179812137047,
"power": 1.1244725359552434,
"discipline": -0.04410874472112995,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 12.5,
"ab_hard_contact": 0.39268881434296804,
"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.4875069693311815,
"contact": 0.5119865012337206,
"power": 0.6303358725548426,
"discipline": -0.27799477861319966,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 9.3,
"ab_hard_contact": 0.8291936415730392,
"ab_bat_speed": 75.419988791423,
"ab_strikeout_rate": 0.2161654135338346,
"available": 1.0
},
{
"player_id": "703155",
"player_name": "Lazaro Montes",
"position": "RF",
"weight": 5.0,
"quality": -0.0009848968792579515,
"contact": -1.7999999999999998,
"power": -2.0,
"discipline": 0.175,
"xwoba": 0.313,
"recent_xwoba": 0.313,
"barrel": 7.4,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27880359147026,
"ab_strikeout_rate": 0.22286324786324785,
"available": 0.0
},
{
"player_id": "801126",
"player_name": "Brock Rodden",
"position": "3B",
"weight": 3.0,
"quality": -0.12604005727579687,
"contact": -1.7724405364796105,
"power": -1.328027068460891,
"discipline": -0.10040079365079355,
"xwoba": 0.219,
"recent_xwoba": 0.219,
"barrel": 3.4,
"ab_hard_contact": 0.16631577363931588,
"ab_bat_speed": 68.75116666666666,
"ab_strikeout_rate": 0.35,
"available": 1.0
},
{
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"weight": 5.0,
"quality": 0.38196487951014807,
"contact": 0.5790253511313659,
"power": 0.38972298553090345,
"discipline": 0.10390469464622029,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 8.0,
"ab_hard_contact": 0.1308406629990144,
"ab_bat_speed": 69.4271574858757,
"ab_strikeout_rate": 0.22048022598870057,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "678022",
"player_name": "Jack Perkins",
"quality": 0.03790804808897989,
"contact": -0.14584229164135726,
"command": 0.0657421245421246,
"movement": 0.29136804435077696,
"xwoba": 0.309,
"whiff": 27.1,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 6,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 6,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.6111,
"recent_form_edge_home_minus_away": 0.006,
"pitcher_matchup_edge_home_minus_away": -0.0394,
"composite_home_edge": 0.6109,
"existing_home_win_probability": 0.6373,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.6109
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.637251,
"uncapped_away_win_probability": 0.362749,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.637251,
"discount_factor": 1.0,
"published_confidence": 0.637251,
"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": 4,
"home_runs": 6,
"predicted_score_text": "OAK 4 - 6 SEA",
"confidence": 0.637251,
"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": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 6,
"score_text": "OAK 4 - 6 SEA",
"winner": "SEA"
},
"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.0394,
"recent_form_edge_home_minus_away": 0.006,
"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": 6,
"winner": "SEA",
"model_winner": "SEA",
"simulation_winner": "SEA",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "SEA",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "SEA",
"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": 4,
"home_runs": 6
},
"simulation_score": {
"away_runs": 4,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 0.6111,
"winner": "SEA",
"score_reviewed": {
"away_runs": 4,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "SEA",
"display_confidence": 0.6373,
"internal_signal_score": 0.5884,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.6373,
"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": 2,
"winner_quality_edge": 0.6111,
"winner_recent_form_edge": -0.204,
"winner_pitcher_matchup_edge": -0.0394,
"winner_simulation_draw_rate": 0.6667,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.0,
"total_runs_spread": {
"min": 9,
"median": 9,
"max": 10,
"range": 1
}
},
"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 OAK | True | 0.9998 | 0.9998 | 1 | 9 | 0 |
| Home SEA | True | 1.0248 | 1.0248 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Henry Bolte | 83 | 1.0082 | 0.1096 | neutral | 0.3100 | 0.2460 | 0.3670 | 7.30 | 47.60 | 90.80 | 0.90 | 33.90 | 27.40 | 7.20 | -0.6000 |
| DH | Jonah Heim | 599 | 0.9946 | -0.0722 | neutral | 0.2950 | 0.2310 | 0.3780 | 7 | 33.10 | 87.90 | 14.90 | 22.10 | 18.40 | 7.20 | 0.0571 |
| LF | Zack Gelof | 87 | 0.9976 | -0.0323 | negative_batter_regression | 0.3050 | 0.2250 | 0.3970 | 8.50 | 41.80 | 88.90 | 16.60 | 29 | 25.40 | 7.60 | -1 |
| 1B | Jeff McNeil | 261 | 1.0017 | 0.0222 | neutral | 0.3070 | 0.2790 | 0.3710 | 2 | 30.30 | 86.50 | 14.50 | 15.50 | 11 | 5.90 | 0.1143 |
| SS | Alika Williams | 183 | 0.9387 | -0.8179 | negative_batter_regression | 0.2470 | 0.2180 | 0.2950 | 0.80 | 33.30 | 84.90 | 17.10 | 22.30 | 24 | 4 | -2 |
| RF | Lawrence Butler | 378 | 1.0290 | 0.3869 | neutral | 0.3210 | 0.2400 | 0.3770 | 7.70 | 46.50 | 89.60 | 6.80 | 27.40 | 26 | 12.30 | 0.2857 |
| C | Brian Serven | 318 | 1.0143 | 0.1913 | neutral | 0.3170 | 0.2530 | 0.4620 | 11.90 | 33.30 | 88.40 | 10.30 | 30.20 | 24.10 | 3.40 | -0.3714 |
| 2B | Michael Stefanic | 400 | 1.0202 | 0.2692 | negative_batter_regression | 0.3580 | 0.3210 | 0.4110 | 0 | 38.50 | 92.10 | 3.30 | 14.70 | 16.70 | 11.10 | -1.0571 |
| 3B | Max Muncy | 654 | 0.9941 | -0.0788 | neutral | 0.2850 | 0.2130 | 0.3560 | 11 | 42.50 | 89.20 | 16.80 | 32.90 | 32.30 | 8 | -0.1143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Cal Raleigh | 263 | 1.0221 | 0.2942 | neutral | 0.3080 | 0.1840 | 0.3920 | 14.60 | 38.50 | 89.70 | 25.20 | 31.50 | 31.40 | 13.30 | 0.5143 |
| DH | Dominic Canzone | 86 | 1.0857 | 1.1429 | neutral | 0.3580 | 0.2690 | 0.4910 | 12.50 | 44.90 | 91.10 | 10.70 | 27.70 | 21.70 | 9 | 0.1714 |
| CF | Julio Rodríguez | 81 | 1.0625 | 0.8335 | neutral | 0.3380 | 0.2650 | 0.4480 | 9.30 | 43.20 | 90 | 13.40 | 27.50 | 22.80 | 7.30 | 0.8286 |
| LF | Randy Arozarena | 20 | 1.0506 | 0.6742 | neutral | 0.3490 | 0.2610 | 0.4240 | 8 | 41.80 | 90.70 | 9.70 | 26.40 | 21.40 | 9.80 | -0.5143 |
| RF | Lazaro Montes | 355 | 1.0073 | 0.0975 | neutral | 0.3130 | 0.2450 | 0.3870 | 7.40 | 39.50 | 88.80 | 14 | 24.80 | 21.80 | 8.60 | -0.0286 |
| 3B | Brock Rodden | 578 | 0.9453 | -0.7295 | negative_batter_regression | 0.2190 | 0.1250 | 0.1940 | 3.40 | 34.50 | 86.70 | 17 | 36.80 | 29.40 | 13.70 | -1.2857 |
| 1B | Josh Naylor | 317 | 1.0158 | 0.2105 | neutral | 0.3140 | 0.2700 | 0.3850 | 4.60 | 35.80 | 87.20 | 11 | 17.70 | 12.70 | 7.40 | 0.2000 |
| 2B | Cole Young | 30 | 1.0178 | 0.2372 | neutral | 0.3160 | 0.2620 | 0.3910 | 4.80 | 37.20 | 88.20 | 13.80 | 19.50 | 17 | 6.60 | 0.2857 |
| SS | J.P. Crawford | 238 | 1.0164 | 0.2185 | neutral | 0.3220 | 0.2380 | 0.3590 | 6 | 35.70 | 87.90 | 12.70 | 17.70 | 20.80 | 13.70 | 0.2571 |
{
"home": {
"applied": true,
"offense_factor": 1.0248,
"raw_average_factor": 1.0248,
"team_espn_average_rank": 218.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "C",
"player_id": "663728",
"player_name": "Cal Raleigh",
"offense_factor": 1.0221,
"quality_score": 0.2942,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663728",
"espn_id": 41292,
"player_name": "Cal Raleigh",
"team": "SEA",
"role": "batter",
"espn_rank": 263,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 263,
"gp_value": 105.0,
"gp_rank": "171",
"ab_value": 373.0,
"ab_rank": "150",
"r_value": 35.0,
"r_rank": "228",
"h_value": 64.0,
"h_rank": "241",
"avg_value": 0.1715817,
"avg_rank": 147.0,
"2b_value": 10.0,
"2b_rank": "272",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 20.0,
"hr_rank": "63",
"rbi_value": 55.0,
"rbi_rank": "107",
"tb_value": 134.0,
"tb_rank": "1278",
"bb_value": 58.0,
"bb_rank": "45",
"so_value": 137.0,
"so_rank": "36",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.2860411,
"obp_rank": "141",
"slg_value": 0.3592493,
"slg_rank": "131",
"ops_value": 0.6452904,
"ops_rank": 137.0,
"war_value": 0.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 31.4,
"bb_percent": 13.3,
"woba": 0.29,
"xwoba": 0.308,
"xba": 0.184,
"xslg": 0.392,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 14.6,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 25.2,
"whiff_percent": 31.5,
"swing_percent": 50.3
},
"components": {
"expected_quality": 0.2583,
"regression_edge": 0.5143,
"xwoba_edge": 0.2,
"xba_edge": -1.4857,
"xslg_edge": 0.3571,
"barrel_edge": 1.7667,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.0417,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "686527",
"player_name": "Dominic Canzone",
"offense_factor": 1.0857,
"quality_score": 1.1429,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686527",
"espn_id": 4345621,
"player_name": "Dominic Canzone",
"team": "SEA",
"role": "batter",
"espn_rank": 86,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 86,
"gp_value": 124.0,
"gp_rank": "109",
"ab_value": 388.0,
"ab_rank": "135",
"r_value": 49.0,
"r_rank": "152",
"h_value": 99.0,
"h_rank": "127",
"avg_value": 0.2551546,
"avg_rank": 69.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 21.0,
"hr_rank": "48",
"rbi_value": 63.0,
"rbi_rank": "74",
"tb_value": 189.0,
"tb_rank": "480",
"bb_value": 39.0,
"bb_rank": "129",
"so_value": 94.0,
"so_rank": "126",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.329493,
"obp_rank": "77",
"slg_value": 0.4871134,
"slg_rank": "21",
"ops_value": 0.8166064,
"ops_rank": 34.0,
"war_value": 2.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 373.0,
"k_percent": 21.7,
"bb_percent": 9.0,
"woba": 0.352,
"xwoba": 0.358,
"xba": 0.269,
"xslg": 0.491,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 10.7,
"whiff_percent": 27.7,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.3011,
"regression_edge": 0.1714,
"xwoba_edge": 1.6286,
"xba_edge": 0.9429,
"xslg_edge": 1.7714,
"barrel_edge": 1.3,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.0917,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0625,
"quality_score": 0.8335,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 81,
"gp_value": 129.0,
"gp_rank": "88",
"ab_value": 511.0,
"ab_rank": "31",
"r_value": 63.0,
"r_rank": "86",
"h_value": 125.0,
"h_rank": "62",
"avg_value": 0.2446183,
"avg_rank": 91.0,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 20.0,
"hr_rank": "63",
"rbi_value": 58.0,
"rbi_rank": "94",
"tb_value": 205.0,
"tb_rank": "938",
"bb_value": 41.0,
"bb_rank": "115",
"so_value": 128.0,
"so_rank": "50",
"sb_value": 17.0,
"sb_rank": "41",
"obp_value": 0.3048128,
"obp_rank": "116",
"slg_value": 0.4011741,
"slg_rank": "96",
"ops_value": 0.7059869,
"ops_rank": 107.0,
"war_value": 2.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 495.0,
"k_percent": 22.8,
"bb_percent": 7.3,
"woba": 0.309,
"xwoba": 0.338,
"xba": 0.265,
"xslg": 0.448,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.4,
"whiff_percent": 27.5,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.8343,
"regression_edge": 0.8286,
"xwoba_edge": 1.0571,
"xba_edge": 0.8286,
"xslg_edge": 1.1571,
"barrel_edge": 0.5889,
"hard_hit_edge": 0.7857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.0583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0506,
"quality_score": 0.6742,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 20,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 20,
"gp_value": 132.0,
"gp_rank": "64",
"ab_value": 492.0,
"ab_rank": "62",
"r_value": 89.0,
"r_rank": "7",
"h_value": 134.0,
"h_rank": "39",
"avg_value": 0.2723577,
"avg_rank": 41.0,
"2b_value": 27.0,
"2b_rank": "28",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 22.0,
"hr_rank": "41",
"rbi_value": 66.0,
"rbi_rank": "61",
"tb_value": 229.0,
"tb_rank": "456",
"bb_value": 56.0,
"bb_rank": "52",
"so_value": 122.0,
"so_rank": "54",
"sb_value": 20.0,
"sb_rank": "25",
"obp_value": 0.3677758,
"obp_rank": "21",
"slg_value": 0.4654471,
"slg_rank": "41",
"ops_value": 0.8332229,
"ops_rank": 26.0,
"war_value": 4.32,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 506.0,
"k_percent": 21.4,
"bb_percent": 9.8,
"woba": 0.367,
"xwoba": 0.349,
"xba": 0.261,
"xslg": 0.424,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 9.7,
"whiff_percent": 26.4,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.8677,
"regression_edge": -0.5143,
"xwoba_edge": 1.3714,
"xba_edge": 0.7143,
"xslg_edge": 0.8143,
"barrel_edge": 0.3,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.575,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "703155",
"player_name": "Lazaro Montes",
"offense_factor": 1.0073,
"quality_score": 0.0975,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "703155",
"espn_id": 5124103,
"player_name": "Lazaro Montes",
"team": "SEA",
"role": "batter",
"espn_rank": 355,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 355,
"gp_value": 1.0,
"gp_rank": "649",
"ab_value": 4.0,
"ab_rank": "631",
"r_value": 2.0,
"r_rank": "554",
"h_value": 2.0,
"h_rank": "585",
"avg_value": 0.5,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": "572",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 2.0,
"rbi_rank": "546",
"tb_value": 5.0,
"tb_rank": "3104",
"bb_value": 1.0,
"bb_rank": "554",
"so_value": 1.0,
"so_rank": "630",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.6,
"obp_rank": "-",
"slg_value": 1.25,
"slg_rank": "-",
"ops_value": 1.85,
"ops_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.8,
"bb_percent": 8.6,
"woba": 0.314,
"xwoba": 0.313,
"xba": 0.245,
"xslg": 0.387,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 14.0,
"whiff_percent": 24.8,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.2566,
"regression_edge": -0.0286,
"xwoba_edge": 0.3429,
"xba_edge": 0.2571,
"xslg_edge": 0.2857,
"barrel_edge": 0.1667,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.0917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "801126",
"player_name": "Brock Rodden",
"offense_factor": 0.9453,
"quality_score": -0.7295,
"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": 578,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 578,
"gp_value": 16.0,
"gp_rank": "529",
"ab_value": 43.0,
"ab_rank": "521",
"r_value": 5.0,
"r_rank": "504",
"h_value": 8.0,
"h_rank": "519",
"avg_value": 0.1860465,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 4.0,
"rbi_rank": "517",
"tb_value": 12.0,
"tb_rank": "2843",
"bb_value": 7.0,
"bb_rank": "431",
"so_value": 15.0,
"so_rank": "503",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.2790697,
"slg_rank": "-",
"ops_value": 0.5731873,
"ops_rank": null,
"war_value": -0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 21.0,
"k_percent": 29.4,
"bb_percent": 13.7,
"woba": 0.264,
"xwoba": 0.219,
"xba": 0.125,
"xslg": 0.194,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 17.0,
"whiff_percent": 36.8,
"swing_percent": 45.3
},
"components": {
"expected_quality": -1.6756,
"regression_edge": -1.2857,
"xwoba_edge": -2.3429,
"xba_edge": -2.5,
"xslg_edge": -2.4714,
"barrel_edge": -0.7222,
"hard_hit_edge": -0.4571,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.375,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0158,
"quality_score": 0.2105,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 317,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 317,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 508.0,
"ab_rank": "36",
"r_value": 51.0,
"r_rank": "146",
"h_value": 136.0,
"h_rank": "31",
"avg_value": 0.2677165,
"avg_rank": 49.0,
"2b_value": 19.0,
"2b_rank": "125",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 48.0,
"rbi_rank": "149",
"tb_value": 185.0,
"tb_rank": "1242",
"bb_value": 41.0,
"bb_rank": "115",
"so_value": 71.0,
"so_rank": "206",
"sb_value": 26.0,
"sb_rank": "12",
"obp_value": 0.3273381,
"obp_rank": "80",
"slg_value": 0.3641732,
"slg_rank": "126",
"ops_value": 0.6915113,
"ops_rank": 119.0,
"war_value": 0.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 499.0,
"k_percent": 12.7,
"bb_percent": 7.4,
"woba": 0.307,
"xwoba": 0.314,
"xba": 0.27,
"xslg": 0.385,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 11.0,
"whiff_percent": 17.7,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.2122,
"regression_edge": 0.2,
"xwoba_edge": 0.3714,
"xba_edge": 0.9714,
"xslg_edge": 0.2571,
"barrel_edge": -0.4556,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": 0.225,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0178,
"quality_score": 0.2372,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 30,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 30,
"gp_value": 139.0,
"gp_rank": "10",
"ab_value": 508.0,
"ab_rank": "36",
"r_value": 66.0,
"r_rank": "70",
"h_value": 124.0,
"h_rank": "67",
"avg_value": 0.2440944,
"avg_rank": 93.0,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 16.0,
"hr_rank": "98",
"rbi_value": 57.0,
"rbi_rank": "99",
"tb_value": 194.0,
"tb_rank": "597",
"bb_value": 37.0,
"bb_rank": "146",
"so_value": 95.0,
"so_rank": "119",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3076923,
"obp_rank": "110",
"slg_value": 0.3818897,
"slg_rank": "114",
"ops_value": 0.689582,
"ops_rank": 120.0,
"war_value": 4.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 505.0,
"k_percent": 17.0,
"bb_percent": 6.6,
"woba": 0.306,
"xwoba": 0.316,
"xba": 0.262,
"xslg": 0.391,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 13.8,
"whiff_percent": 19.5,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.2293,
"regression_edge": 0.2857,
"xwoba_edge": 0.4286,
"xba_edge": 0.7429,
"xslg_edge": 0.3429,
"barrel_edge": -0.4111,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.1083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "641487",
"player_name": "J.P. Crawford",
"offense_factor": 1.0164,
"quality_score": 0.2185,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641487",
"espn_id": 33210,
"player_name": "J.P. Crawford",
"team": "SEA",
"role": "batter",
"espn_rank": 238,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 238,
"gp_value": 95.0,
"gp_rank": "214",
"ab_value": 331.0,
"ab_rank": "189",
"r_value": 42.0,
"r_rank": "187",
"h_value": 73.0,
"h_rank": "206",
"avg_value": 0.2205438,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 31.0,
"rbi_rank": "255",
"tb_value": 115.0,
"tb_rank": "1519",
"bb_value": 54.0,
"bb_rank": "58",
"so_value": 82.0,
"so_rank": "163",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3375634,
"obp_rank": "-",
"slg_value": 0.347432,
"slg_rank": "-",
"ops_value": 0.6849954,
"ops_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 362.0,
"k_percent": 20.8,
"bb_percent": 13.7,
"woba": 0.313,
"xwoba": 0.322,
"xba": 0.238,
"xslg": 0.359,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 12.7,
"whiff_percent": 17.7,
"swing_percent": 38.4
},
"components": {
"expected_quality": 0.2123,
"regression_edge": 0.2571,
"xwoba_edge": 0.6,
"xba_edge": 0.0571,
"xslg_edge": -0.1143,
"barrel_edge": -0.1444,
"hard_hit_edge": -0.2857,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.3417,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9998,
"raw_average_factor": 0.9998,
"team_espn_average_rank": 329.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "703607",
"player_name": "Henry Bolte",
"offense_factor": 1.0082,
"quality_score": 0.1096,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "703607",
"espn_id": 5080756,
"player_name": "Henry Bolte",
"team": "ATH",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 83,
"gp_value": 97.0,
"gp_rank": "204",
"ab_value": 332.0,
"ab_rank": "188",
"r_value": 41.0,
"r_rank": "193",
"h_value": 91.0,
"h_rank": "148",
"avg_value": 0.2740963,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 30.0,
"rbi_rank": "260",
"tb_value": 129.0,
"tb_rank": "1295",
"bb_value": 27.0,
"bb_rank": "210",
"so_value": 103.0,
"so_rank": "99",
"sb_value": 15.0,
"sb_rank": "53",
"obp_value": 0.3502673,
"obp_rank": "-",
"slg_value": 0.3885542,
"slg_rank": "-",
"ops_value": 0.7388215,
"ops_rank": null,
"war_value": 2.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 302.0,
"k_percent": 27.4,
"bb_percent": 7.2,
"woba": 0.331,
"xwoba": 0.31,
"xba": 0.246,
"xslg": 0.367,
"sweet_spot_percent": 27.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 47.6,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 0.9,
"whiff_percent": 33.9,
"swing_percent": 50.2
},
"components": {
"expected_quality": 0.2252,
"regression_edge": -0.6,
"xwoba_edge": 0.2571,
"xba_edge": 0.2857,
"xslg_edge": 0.0,
"barrel_edge": 0.1444,
"hard_hit_edge": 1.4143,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -1.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "641680",
"player_name": "Jonah Heim",
"offense_factor": 0.9946,
"quality_score": -0.0722,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641680",
"espn_id": 33842,
"player_name": "Jonah Heim",
"team": "ATH",
"role": "batter",
"espn_rank": 599,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 599,
"gp_value": 89.0,
"gp_rank": "240",
"ab_value": 303.0,
"ab_rank": "211",
"r_value": 31.0,
"r_rank": "254",
"h_value": 65.0,
"h_rank": "236",
"avg_value": 0.2145214,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 13.0,
"hr_rank": "134",
"rbi_value": 42.0,
"rbi_rank": "177",
"tb_value": 120.0,
"tb_rank": "1384",
"bb_value": 24.0,
"bb_rank": "236",
"so_value": 61.0,
"so_rank": "249",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2740963,
"obp_rank": "-",
"slg_value": 0.3960396,
"slg_rank": "-",
"ops_value": 0.6701359,
"ops_rank": null,
"war_value": -0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 293.0,
"k_percent": 18.4,
"bb_percent": 7.2,
"woba": 0.293,
"xwoba": 0.295,
"xba": 0.231,
"xslg": 0.378,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 33.1,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 14.9,
"whiff_percent": 22.1,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.0932,
"regression_edge": 0.0571,
"xwoba_edge": -0.1714,
"xba_edge": -0.1429,
"xslg_edge": 0.1571,
"barrel_edge": 0.0778,
"hard_hit_edge": -0.6571,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.025,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "680869",
"player_name": "Zack Gelof",
"offense_factor": 0.9976,
"quality_score": -0.0323,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680869",
"espn_id": 4414531,
"player_name": "Zack Gelof",
"team": "ATH",
"role": "batter",
"espn_rank": 87,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 87,
"gp_value": 89.0,
"gp_rank": "240",
"ab_value": 309.0,
"ab_rank": "209",
"r_value": 57.0,
"r_rank": "110",
"h_value": 79.0,
"h_rank": "191",
"avg_value": 0.2556634,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 15.0,
"hr_rank": "108",
"rbi_value": 39.0,
"rbi_rank": "197",
"tb_value": 140.0,
"tb_rank": "983",
"bb_value": 26.0,
"bb_rank": "217",
"so_value": 87.0,
"so_rank": "145",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3235294,
"obp_rank": "-",
"slg_value": 0.4530744,
"slg_rank": "-",
"ops_value": 0.7766038,
"ops_rank": null,
"war_value": 2.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 275.0,
"k_percent": 25.4,
"bb_percent": 7.6,
"woba": 0.34,
"xwoba": 0.305,
"xba": 0.225,
"xslg": 0.397,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 16.6,
"whiff_percent": 29.0,
"swing_percent": 46.0
},
"components": {
"expected_quality": 0.1253,
"regression_edge": -1.0,
"xwoba_edge": 0.1143,
"xba_edge": -0.3143,
"xslg_edge": 0.4286,
"barrel_edge": 0.4111,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -0.9417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "643446",
"player_name": "Jeff McNeil",
"offense_factor": 1.0017,
"quality_score": 0.0222,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643446",
"espn_id": 33900,
"player_name": "Jeff McNeil",
"team": "ATH",
"role": "batter",
"espn_rank": 261,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 261,
"gp_value": 123.0,
"gp_rank": "115",
"ab_value": 400.0,
"ab_rank": "124",
"r_value": 42.0,
"r_rank": "187",
"h_value": 107.0,
"h_rank": "102",
"avg_value": 0.2675,
"avg_rank": 49.0,
"2b_value": 19.0,
"2b_rank": "125",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 49.0,
"rbi_rank": "142",
"tb_value": 147.0,
"tb_rank": "1529",
"bb_value": 26.0,
"bb_rank": "217",
"so_value": 48.0,
"so_rank": "308",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3172413,
"obp_rank": "95",
"slg_value": 0.3675,
"slg_rank": "123",
"ops_value": 0.6847413,
"ops_rank": 124.0,
"war_value": 0.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 374.0,
"k_percent": 11.0,
"bb_percent": 5.9,
"woba": 0.303,
"xwoba": 0.307,
"xba": 0.279,
"xslg": 0.371,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 14.5,
"whiff_percent": 15.5,
"swing_percent": 58.4
},
"components": {
"expected_quality": 0.0072,
"regression_edge": 0.1143,
"xwoba_edge": 0.1714,
"xba_edge": 1.2286,
"xslg_edge": 0.0571,
"barrel_edge": -1.0333,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 0.7583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "675961",
"player_name": "Alika Williams",
"offense_factor": 0.9387,
"quality_score": -0.8179,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "675961",
"espn_id": 4424289,
"player_name": "Alika Williams",
"team": "ATH",
"role": "batter",
"espn_rank": 183,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 183,
"gp_value": 70.0,
"gp_rank": "320",
"ab_value": 162.0,
"ab_rank": "353",
"r_value": 20.0,
"r_rank": "343",
"h_value": 44.0,
"h_rank": "316",
"avg_value": 0.2716049,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": "189",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 15.0,
"rbi_rank": "367",
"tb_value": 70.0,
"tb_rank": "1860",
"bb_value": 7.0,
"bb_rank": "431",
"so_value": 42.0,
"so_rank": "336",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3081395,
"obp_rank": "-",
"slg_value": 0.4320987,
"slg_rank": "-",
"ops_value": 0.7402382,
"ops_rank": null,
"war_value": 1.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 24.0,
"bb_percent": 4.0,
"woba": 0.321,
"xwoba": 0.247,
"xba": 0.218,
"xslg": 0.295,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 0.8,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 17.1,
"whiff_percent": 22.3,
"swing_percent": 53.7
},
"components": {
"expected_quality": -1.0977,
"regression_edge": -2.0,
"xwoba_edge": -1.5429,
"xba_edge": -0.5143,
"xslg_edge": -1.0286,
"barrel_edge": -1.3,
"hard_hit_edge": -0.6286,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": -0.1583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671732",
"player_name": "Lawrence Butler",
"offense_factor": 1.029,
"quality_score": 0.3869,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671732",
"espn_id": 4917919,
"player_name": "Lawrence Butler",
"team": "ATH",
"role": "batter",
"espn_rank": 378,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 378,
"gp_value": 132.0,
"gp_rank": "64",
"ab_value": 386.0,
"ab_rank": "138",
"r_value": 53.0,
"r_rank": "132",
"h_value": 89.0,
"h_rank": "154",
"avg_value": 0.2305699,
"avg_rank": 115.0,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 47.0,
"rbi_rank": "153",
"tb_value": 143.0,
"tb_rank": "1034",
"bb_value": 55.0,
"bb_rank": "56",
"so_value": 115.0,
"so_rank": "68",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3265765,
"obp_rank": "80",
"slg_value": 0.3704663,
"slg_rank": "120",
"ops_value": 0.6970428,
"ops_rank": 116.0,
"war_value": 0.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 379.0,
"k_percent": 26.0,
"bb_percent": 12.3,
"woba": 0.311,
"xwoba": 0.321,
"xba": 0.24,
"xslg": 0.377,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 6.8,
"whiff_percent": 27.4,
"swing_percent": 45.9
},
"components": {
"expected_quality": 0.4033,
"regression_edge": 0.2857,
"xwoba_edge": 0.5714,
"xba_edge": 0.1143,
"xslg_edge": 0.1429,
"barrel_edge": 0.2333,
"hard_hit_edge": 1.2571,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.125,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661531",
"player_name": "Brian Serven",
"offense_factor": 1.0143,
"quality_score": 0.1913,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661531",
"espn_id": 41441,
"player_name": "Brian Serven",
"team": "ATH",
"role": "batter",
"espn_rank": 318,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 318,
"gp_value": 19.0,
"gp_rank": "511",
"ab_value": 56.0,
"ab_rank": "494",
"r_value": 8.0,
"r_rank": "462",
"h_value": 13.0,
"h_rank": "478",
"avg_value": 0.2321428,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": "510",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 14.0,
"rbi_rank": "374",
"tb_value": 29.0,
"tb_rank": "2455",
"bb_value": 2.0,
"bb_rank": "522",
"so_value": 14.0,
"so_rank": "510",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2586206,
"obp_rank": "-",
"slg_value": 0.5178571,
"slg_rank": "-",
"ops_value": 0.7764777,
"ops_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 36.0,
"k_percent": 24.1,
"bb_percent": 3.4,
"woba": 0.33,
"xwoba": 0.317,
"xba": 0.253,
"xslg": 0.462,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 10.3,
"whiff_percent": 30.2,
"swing_percent": 48.0
},
"components": {
"expected_quality": 0.5548,
"regression_edge": -0.3714,
"xwoba_edge": 0.4571,
"xba_edge": 0.4857,
"xslg_edge": 1.3571,
"barrel_edge": 1.1667,
"hard_hit_edge": -0.6286,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 1.2083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683021",
"player_name": "Michael Stefanic",
"offense_factor": 1.0202,
"quality_score": 0.2692,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683021",
"espn_id": 42711,
"player_name": "Michael Stefanic",
"team": "ATH",
"role": "batter",
"espn_rank": 400,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 400,
"gp_value": 8.0,
"gp_rank": "591",
"ab_value": 16.0,
"ab_rank": "589",
"r_value": 2.0,
"r_rank": "554",
"h_value": 6.0,
"h_rank": "538",
"avg_value": 0.375,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": "510",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 2.0,
"rbi_rank": "546",
"tb_value": 7.0,
"tb_rank": "3208",
"bb_value": 2.0,
"bb_rank": "522",
"so_value": 3.0,
"so_rank": "599",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.4444444,
"obp_rank": "-",
"slg_value": 0.4375,
"slg_rank": "-",
"ops_value": 0.8819444,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 16.7,
"bb_percent": 11.1,
"woba": 0.395,
"xwoba": 0.358,
"xba": 0.321,
"xslg": 0.411,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 3.3,
"whiff_percent": 14.7,
"swing_percent": 44.7
},
"components": {
"expected_quality": 0.8676,
"regression_edge": -1.0571,
"xwoba_edge": 1.6286,
"xba_edge": 2.4286,
"xslg_edge": 0.6286,
"barrel_edge": -1.4778,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": -0.4083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691777",
"player_name": "Max Muncy",
"offense_factor": 0.9941,
"quality_score": -0.0788,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691777",
"espn_id": 4872686,
"player_name": "Max Muncy",
"team": "ATH",
"role": "batter",
"espn_rank": 654,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 654,
"gp_value": 71.0,
"gp_rank": "316",
"ab_value": 224.0,
"ab_rank": "285",
"r_value": 28.0,
"r_rank": "278",
"h_value": 48.0,
"h_rank": "294",
"avg_value": 0.2142857,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 25.0,
"rbi_rank": "290",
"tb_value": 82.0,
"tb_rank": "1445",
"bb_value": 20.0,
"bb_rank": "278",
"so_value": 81.0,
"so_rank": "168",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.2868525,
"obp_rank": "-",
"slg_value": 0.3660714,
"slg_rank": "-",
"ops_value": 0.6529239,
"ops_rank": null,
"war_value": -1.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 32.3,
"bb_percent": 8.0,
"woba": 0.289,
"xwoba": 0.285,
"xba": 0.213,
"xslg": 0.356,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 16.8,
"whiff_percent": 32.9,
"swing_percent": 49.6
},
"components": {
"expected_quality": -0.0752,
"regression_edge": -0.1143,
"xwoba_edge": -0.4571,
"xba_edge": -0.6571,
"xslg_edge": -0.1571,
"barrel_edge": 0.9667,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.0583,
"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 OAK | True | 841 | 0.0641 | 1 | 0.9946 | 1.0297 | 1.0120 | 1.0221 | positive_pitcher_regression | 0.3090 | 0.3560 | 25.20 | 9.70 | 27.10 | 8.80 | 37.30 | |
| Home SEA | True | 374 | 0.2678 | 0.4500 | 0.9772 | 0.9866 | 1.0279 | 0.9544 | positive_pitcher_regression | 0.2350 | 0.3340 | 19.50 | 12.20 | 22.40 | 7.10 | 32.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away OAK | True | None | 77 | 91.32 | 2227 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0812 | |
| Home SEA | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9908 |
| home_runs_vs_away_pitcher | 0.9953 |
| home_pitcher_starter_only_factor | 0.9897 |
| away_pitcher_starter_only_factor | 0.9946 |
| home_pitcher_workload_share | 0.4815 |
| away_pitcher_workload_share | 0.5185 |
| home_pitcher_quality_edge | 0.0957 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "807739",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 19.5,
"bb_percent": 12.2,
"woba": 0.334,
"xwoba": 0.235,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 32.1,
"avg_best_speed": 76.6179,
"avg_hyper_speed": 91.7814,
"whiff_percent": 22.4,
"swing_percent": 51.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9141,
"command_and_miss": -0.4493,
"regression_edge": 2.0,
"xwoba_edge": 2.1714,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.8143,
"whiff_edge": -0.4,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "807739",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2678,
"sample_weight": 0.45,
"run_prevention_factor": 0.9772,
"strikeout_factor": 0.9866,
"walk_factor": 1.0279,
"homer_factor": 0.9544,
"woba_minus_xwoba": 0.099,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "807739",
"espn_id": 5198748,
"player_name": "Kade Anderson",
"team": "SEA",
"role": "pitcher",
"espn_rank": 374,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 374,
"gp_value": 2.0,
"gp_rank": 741,
"gs_value": 2.0,
"gs_rank": 270,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 0.0,
"l_rank": 569,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 10.0,
"ip_rank": 603,
"h_value": 8.0,
"h_rank": 650,
"er_value": 5.0,
"er_rank": 640,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 5.0,
"bb_rank": 609,
"k_value": 8.0,
"k_rank": 613,
"k_per_9_value": 7.2,
"k_per_9_rank": 27,
"whip_value": 1.3,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "678022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 379.0,
"k_percent": 25.2,
"bb_percent": 9.7,
"woba": 0.356,
"xwoba": 0.309,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 37.3,
"avg_best_speed": 78.8295,
"avg_hyper_speed": 93.5558,
"whiff_percent": 27.1,
"swing_percent": 48.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2656,
"command_and_miss": 0.2771,
"regression_edge": 1.3429,
"xwoba_edge": 0.0571,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.2714,
"bb_edge": -0.15,
"pitch_design_score": 0.0812
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3186,
"release_spin_rate": 2227.2788,
"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.0812,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5802,
"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.0641,
"sample_weight": 1.0,
"run_prevention_factor": 0.9946,
"strikeout_factor": 1.0297,
"walk_factor": 1.012,
"homer_factor": 1.0221,
"woba_minus_xwoba": 0.047,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678022",
"espn_id": 4418686,
"player_name": "Jack Perkins",
"team": "ATH",
"role": "pitcher",
"espn_rank": 841,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 841,
"gp_value": 32.0,
"gp_rank": 201,
"gs_value": 12.0,
"gs_rank": 154,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 6.4195,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 2.0,
"hld_rank": 225,
"ip_value": 95.1,
"ip_rank": 124,
"h_value": 100.0,
"h_rank": 107,
"er_value": 68.0,
"er_rank": 29,
"hr_value": 18.0,
"hr_rank": 46,
"bb_value": 42.0,
"bb_rank": 65,
"k_value": 109.0,
"k_rank": 81,
"k_per_9_value": 10.29021,
"k_per_9_rank": 17,
"whip_value": 1.4895,
"whip_rank": null,
"war_value": -1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9908,
"home_runs_vs_away_pitcher": 0.9953,
"home_pitcher_starter_only_factor": 0.9897,
"away_pitcher_starter_only_factor": 0.9946,
"home_pitcher_workload_share": 0.4815,
"away_pitcher_workload_share": 0.5185,
"home_pitcher_quality_edge": 0.0957
},
"score_before": {
"away_runs": 4.2614,
"home_runs": 6.0352
},
"score_after": {
"away_runs": 4.2223,
"home_runs": 6.0069,
"home_win_probability": 0.6534
},
"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 OAK | 4-6 | 0.400 | 5 | 5.60 | -6 | 1W | average | weak |
| Home SEA | 4-6 | 0.400 | 4.40 | 6.50 | -21 | 2W | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away OAK | 54-86 | 0.386 | -194 | -1.386 | True |
| Home SEA | 66-74 | 0.471 | -65 | -0.464 | True |
| Signal | - | - | 0.921 | 0.611 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-05-27 | SEA @ OAK | 9 - 1 | SEA | 8 | blowout |
| 2026-05-26 | SEA @ OAK | 4 - 1 | SEA | 3 | blowout |
| 2026-05-25 | SEA @ OAK | 9 - 2 | SEA | 7 | blowout |
| 2026-04-22 | OAK @ SEA | 4 - 5 | SEA | 1 | close |
| 2026-04-21 | OAK @ SEA | 5 - 2 | OAK | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target OAK | - | - | 4 | - | - | - | - |
| Game target SEA | - | - | 6 | - | - | - | - |
| Player finalized OAK | 33 | 9 | 4 | 1 | 4 | 3 | 9 |
| Player finalized SEA | 40 | 9 | 7 | 2 | 5 | 4 | 8 |
| Player model fractional OAK | 30.24 | 7.65 | 3.76 | 1.07 | 3.90 | 2.46 | 7.57 |
| Player model fractional SEA | 36.80 | 8.99 | 5.55 | 1.63 | 4.99 | 4.03 | 8.30 |
| Simulation box OAK | 34 | 7 | 4 | 2 | 4 | 6 | 8 |
| Simulation box SEA | 32 | 8 | 6 | 3 | 6 | 4 | 3 |
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 OAK | Starter | Jack Perkins | 4 | 3 | 2 | 5 | 1 | 5.79 | 1.62 | True |
| Away OAK | Setup Man | Hogan Harris | 1 | 3 | 0 | 3 | 1 | 2.50 | 1.14 | True |
| Away OAK | Middle Reliever (High Leverage) | Luis Medina | 1.20 | 0 | 0 | 0 | 0 | 2.96 | 1.14 | True |
| Away OAK | Closer | Elvis Alvarado | 1.10 | 0 | 1 | 0 | 2 | 2.58 | 1.10 | True |
| Home SEA | Starter | Kade Anderson | 4.10 | 3 | 4 | 5 | 0 | 4.48 | 1.33 | True |
| Home SEA | Closer | Andrés Muñoz | 1.10 | 0 | 2 | 0 | 0 | 4.40 | 1.06 | True |
| Home SEA | Middle Reliever (High Leverage) | Eduard Bazardo | 1 | 0 | 1 | 2 | 1 | 4.61 | 1.90 | True |
| Home SEA | Middle Reliever (High Leverage) | Gabe Speier | 1.20 | 0 | 0 | 0 | 1 | 3.57 | 1.04 | True |
| Home SEA | Setup Man | José A. Ferrer | 0.20 | 1 | 1 | 0 | 4 | 4.64 | 1.66 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | SEA | batter | 2B | Cole Young | worse | 10 | 5 | 5 | 4 | 6 | predicted_RBI | 3.6700 | boost | better |
| home | SEA | batter | CF | Julio Rodríguez | worse | 9 | 1 | 8 | 1 | 8 | predicted_AB | -2.1400 | deboost | worse |
| away | OAK | batter | 2B | Michael Stefanic | worse | 11 | 4 | 7 | 5 | 6 | predicted_BB | 1.6670 | boost | better |
| home | SEA | batter | C | Cal Raleigh | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | -1.6500 | deboost | worse |
| away | OAK | batter | DH | Jonah Heim | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | 1.5960 | boost | better |
| home | SEA | batter | 1B | Josh Naylor | better | 11 | 6 | 5 | 7 | 4 | predicted_AB | -1.5400 | deboost | worse |
| away | OAK | batter | C | Brian Serven | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.3100 | boost | better |
| away | OAK | batter | RF | Lawrence Butler | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.2500 | boost | better |
| home | SEA | batter | SS | J.P. Crawford | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.0700 | deboost | worse |
| away | OAK | pitcher | Starter | Jack Perkins | worse | 3 | 2 | 1 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| away | OAK | pitcher | Setup Man | Hogan Harris | better | 1 | 0 | 1 | 1 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | OAK | pitcher | Closer | Elvis Alvarado | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| home | SEA | batter | RF | Lazaro Montes | worse | 10 | 3 | 7 | 4 | 6 | predicted_2B | 1.0000 | boost | better |
| away | OAK | batter | CF | Henry Bolte | better | 11 | 7 | 4 | 8 | 3 | predicted_H | -0.9780 | deboost | worse |
| away | OAK | batter | SS | Alika Williams | better | 9 | 7 | 2 | 8 | 1 | predicted_HR | 0.9490 | boost | better |
| home | SEA | batter | LF | Randy Arozarena | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9240 | deboost | better |
| away | OAK | batter | 3B | Max Muncy | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.8730 | boost | better |
| away | OAK | batter | 1B | Jeff McNeil | boosted | 10 | 6 | 4 | 5 | 5 | predicted_2B | 0.8430 | boost | better |
| home | SEA | batter | DH | Dominic Canzone | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.7700 | deboost | better |
| away | OAK | batter | LF | Zack Gelof | worse | 9 | 3 | 6 | 3 | 6 | predicted_BB | 0.6940 | boost | better |
| home | SEA | batter | 3B | Brock Rodden | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -0.5710 | deboost | worse |
| home | SEA | pitcher | Setup Man | José A. Ferrer | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | SEA | pitcher | Starter | Kade Anderson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | OAK | pitcher | Middle Reliever (High Leverage) | Luis Medina | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | SEA | pitcher | Middle Reliever (High Leverage) | Gabe Speier | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | SEA | pitcher | Closer | Andrés Muñoz | 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 | Jack Perkins |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0641 |
| ESPN Rank | 841 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0812 |
| Avg Velo | 91.3186 |
| Avg Spin | 2227.2788 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 6.4196 |
| Season WHIP | 1.4895 |
| Role Avg IP | 4.6390 |
| Recent Avg IP | 4.8000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"opponent": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"edges": {
"quality_edge": -0.1856,
"offense_edge": -0.029,
"opponent_offense_edge": -0.118,
"defense_strength": -0.2183,
"opponent_defense_weakness": -0.015,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9907,
"run_prevention": 1.0122,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678022",
"profile": {
"available": true,
"pitcher_id": "678022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 379.0,
"k_percent": 25.2,
"bb_percent": 9.7,
"woba": 0.356,
"xwoba": 0.309,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 37.3,
"avg_best_speed": 78.8295,
"avg_hyper_speed": 93.5558,
"whiff_percent": 27.1,
"swing_percent": 48.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2656,
"command_and_miss": 0.2771,
"regression_edge": 1.3429,
"xwoba_edge": 0.0571,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.2714,
"bb_edge": -0.15,
"pitch_design_score": 0.0812
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3186,
"release_spin_rate": 2227.2788,
"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.0812,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5802,
"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.0641,
"sample_weight": 1.0,
"run_prevention_factor": 0.9946,
"strikeout_factor": 1.0297,
"walk_factor": 1.012,
"homer_factor": 1.0221,
"woba_minus_xwoba": 0.047,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678022",
"espn_id": 4418686,
"player_name": "Jack Perkins",
"team": "ATH",
"role": "pitcher",
"espn_rank": 841,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 841,
"gp_value": 32.0,
"gp_rank": 201,
"gs_value": 12.0,
"gs_rank": 154,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 6.4195,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 10.0,
"l_rank": 13,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 2.0,
"hld_rank": 225,
"ip_value": 95.1,
"ip_rank": 124,
"h_value": 100.0,
"h_rank": 107,
"er_value": 68.0,
"er_rank": 29,
"hr_value": 18.0,
"hr_rank": 46,
"bb_value": 42.0,
"bb_rank": 65,
"k_value": 109.0,
"k_rank": 81,
"k_per_9_value": 10.29021,
"k_per_9_rank": 17,
"whip_value": 1.4895,
"whip_rank": null,
"war_value": -1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9946,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 0.9946,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.012,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0221,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0297,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 44.1,
"ER": 34,
"H": 49,
"BB": 25,
"SO": 47,
"HR": 12,
"ERA": 6.902255639097745,
"WHIP": 1.6691729323308273,
"K9": 9.541353383458647,
"HR9": 2.43609022556391,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "678022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 91.31862708436176,
"release_spin_rate": 2227.278752223051,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3186,
"release_spin_rate": 2227.2788,
"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.0812,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5802,
"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": 19.162,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7931,
"prior_weight": 0.2069
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "678022",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.2,
"ER": 13.0,
"R": 17.0,
"H": 25.0,
"BB": 14.0,
"SO": 20.0,
"HR": 4.0,
"BF": 101.0,
"Pitches": 391.0
},
"per_game": {
"IP": 4.1,
"ER": 2.6,
"R": 3.4,
"H": 5.0,
"BB": 2.8,
"SO": 4.0,
"HR": 0.8,
"BF": 20.2,
"Pitches": 78.2
},
"rates": {
"ERA": 5.4,
"WHIP": 1.8,
"ER_per_IP": 0.6,
"H_per_IP": 1.15385,
"BB_per_IP": 0.64615,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.18462
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 44.1,
"ER": 34.0,
"R": 38.0,
"H": 49.0,
"BB": 25.0,
"SO": 47.0,
"HR": 12.0,
"BF": 205.0,
"Pitches": 796.0
},
"per_game": {
"IP": 4.1,
"ER": 3.4,
"R": 3.8,
"H": 4.9,
"BB": 2.5,
"SO": 4.7,
"HR": 1.2,
"BF": 20.5,
"Pitches": 79.6
},
"rates": {
"ERA": 6.9023,
"WHIP": 1.6692,
"ER_per_IP": 0.76692,
"H_per_IP": 1.10526,
"BB_per_IP": 0.56391,
"SO_per_IP": 1.06015,
"HR_per_IP": 0.27068
}
},
"season": {
"games": 32,
"totals": {
"IP": 95.1,
"ER": 68.0,
"R": 74.0,
"H": 100.0,
"BB": 42.0,
"SO": 109.0,
"HR": 18.0,
"BF": 433.0,
"Pitches": 1673.0
},
"per_game": {
"IP": 3.0,
"ER": 2.125,
"R": 2.3125,
"H": 3.125,
"BB": 1.3125,
"SO": 3.4062,
"HR": 0.5625,
"BF": 13.5312,
"Pitches": 52.2812
},
"rates": {
"ERA": 6.4196,
"WHIP": 1.4895,
"ER_per_IP": 0.71329,
"H_per_IP": 1.04895,
"BB_per_IP": 0.44056,
"SO_per_IP": 1.14336,
"HR_per_IP": 0.18881
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.695,
"predicted_H": 4.552,
"predicted_BB": 2.237,
"predicted_SO": 4.188,
"predicted_HR": 0.844,
"predicted_ERA": 5.788,
"predicted_WHIP": 1.62
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4374,
"form_weight": 0.5626,
"form_reliability": 0.7931,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 19.162,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7931,
"prior_weight": 0.2069
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.695,
"final": 2.391,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.552,
"final": 4.3105,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.237,
"final": 1.6959,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.188,
"final": 3.2309,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.844,
"final": 1.3497,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.788,
"final": 5.788,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.62,
"final": 1.62,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hogan Harris |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3219 |
| ESPN Rank | 123 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1041 |
| Avg Velo | 88.0088 |
| Avg Spin | 2387.0923 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.4888 |
| Season WHIP | 1.5000 |
| Role Avg IP | 0.9420 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"opponent": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"edges": {
"quality_edge": -0.1856,
"offense_edge": -0.029,
"opponent_offense_edge": -0.118,
"defense_strength": -0.2183,
"opponent_defense_weakness": -0.015,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9907,
"run_prevention": 1.0122,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663687",
"profile": {
"available": true,
"pitcher_id": "663687",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 29.4,
"bb_percent": 13.8,
"woba": 0.316,
"xwoba": 0.293,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 32.7,
"avg_best_speed": 76.6239,
"avg_hyper_speed": 93.0864,
"whiff_percent": 25.6,
"swing_percent": 43.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3552,
"command_and_miss": 0.2671,
"regression_edge": 0.6571,
"xwoba_edge": 0.5143,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.7286,
"whiff_edge": 0.0571,
"bb_edge": -1.175,
"pitch_design_score": -0.1041
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 30,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 30,
"pitch_usage": 0.0,
"release_speed": 88.00881930667637,
"release_spin_rate": 2387.092333775044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 30,
"pitch_usage": 0.0,
"release_speed": 88.00881930667637,
"release_spin_rate": 2387.092333775044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0088,
"release_spin_rate": 2387.0923,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7437,
"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.3219,
"sample_weight": 0.988,
"run_prevention_factor": 0.9726,
"strikeout_factor": 1.0446,
"walk_factor": 1.0929,
"homer_factor": 0.9226,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663687",
"espn_id": 41364,
"player_name": "Hogan Harris",
"team": "ATH",
"role": "pitcher",
"espn_rank": 123,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 123,
"gp_value": 63.0,
"gp_rank": 16,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.4887,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 13.0,
"sv_rank": 23,
"hld_value": 12.0,
"hld_rank": 54,
"ip_value": 59.1,
"ip_rank": 223,
"h_value": 52.0,
"h_rank": 223,
"er_value": 23.0,
"er_rank": 259,
"hr_value": 6.0,
"hr_rank": 261,
"bb_value": 37.0,
"bb_rank": 96,
"k_value": 79.0,
"k_rank": 145,
"k_per_9_value": 11.983146,
"k_per_9_rank": 17,
"whip_value": 1.5,
"whip_rank": null,
"war_value": 1.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9729,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9729,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0918,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9235,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0441,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 3,
"H": 8,
"BB": 5,
"SO": 12,
"HR": 0,
"ERA": 2.793103448275862,
"WHIP": 1.3448275862068966,
"K9": 11.172413793103448,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "663687",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 30,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 30,
"pitch_usage": 0.0,
"release_speed": 88.00881930667637,
"release_spin_rate": 2387.092333775044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 30,
"pitch_usage": 0.0,
"release_speed": 88.00881930667637,
"release_spin_rate": 2387.092333775044,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0088,
"release_spin_rate": 2387.0923,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7437,
"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.926,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7046,
"prior_weight": 0.2954
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663687",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 63,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 14.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 12.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 197.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 1.2,
"HR": 0.0,
"BF": 4.3,
"Pitches": 19.7
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.3448,
"ER_per_IP": 0.31034,
"H_per_IP": 0.82759,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.0
}
},
"season": {
"games": 63,
"totals": {
"IP": 59.1,
"ER": 23.0,
"R": 25.0,
"H": 52.0,
"BB": 37.0,
"SO": 79.0,
"HR": 6.0,
"BF": 269.0,
"Pitches": 1148.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3651,
"R": 0.3968,
"H": 0.8254,
"BB": 0.5873,
"SO": 1.254,
"HR": 0.0952,
"BF": 4.2698,
"Pitches": 18.2222
},
"rates": {
"ERA": 3.4888,
"WHIP": 1.5,
"ER_per_IP": 0.38764,
"H_per_IP": 0.8764,
"BB_per_IP": 0.6236,
"SO_per_IP": 1.33146,
"HR_per_IP": 0.10112
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.278,
"predicted_H": 0.683,
"predicted_BB": 0.461,
"predicted_SO": 1.247,
"predicted_HR": 0.058,
"predicted_ERA": 2.5033,
"predicted_WHIP": 1.1438
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4748,
"form_weight": 0.5252,
"form_reliability": 0.7046,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.926,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7046,
"prior_weight": 0.2954
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 0.278,
"final": 2.0452,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.683,
"final": 1.7831,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.461,
"final": 0.7169,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.247,
"final": 0.6549,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.058,
"final": 0.5053,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5033,
"final": 2.5033,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1438,
"final": 1.1438,
"source": "form_only"
}
}
}{
"available": false,
"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 | Luis Medina |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0824 |
| ESPN Rank | 178 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.3209 |
| Season WHIP | 1.3636 |
| Role Avg IP | 1.3260 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"opponent": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"edges": {
"quality_edge": -0.1856,
"offense_edge": -0.029,
"opponent_offense_edge": -0.118,
"defense_strength": -0.2183,
"opponent_defense_weakness": -0.015,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9907,
"run_prevention": 1.0122,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665622",
"profile": {
"available": true,
"pitcher_id": "665622",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 235.0,
"k_percent": 28.1,
"bb_percent": 11.7,
"woba": 0.327,
"xwoba": 0.31,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 38.9,
"avg_best_speed": 80.0809,
"avg_hyper_speed": 94.2139,
"whiff_percent": 31.1,
"swing_percent": 44.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1919,
"command_and_miss": 0.5636,
"regression_edge": 0.4857,
"xwoba_edge": 0.0286,
"barrel_edge": -0.2,
"hard_hit_edge": -0.1571,
"whiff_edge": 0.8429,
"bb_edge": -0.65,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "665622",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0824,
"sample_weight": 0.94,
"run_prevention_factor": 0.993,
"strikeout_factor": 1.065,
"walk_factor": 1.0489,
"homer_factor": 1.0201,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665622",
"espn_id": 40949,
"player_name": "Luis Medina",
"team": "ATH",
"role": "pitcher",
"espn_rank": 178,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 178,
"gp_value": 49.0,
"gp_rank": 102,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.6096,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 62.1,
"ip_rank": 202,
"h_value": 59.0,
"h_rank": 190,
"er_value": 25.0,
"er_rank": 225,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 32.0,
"bb_rank": 132,
"k_value": 77.0,
"k_rank": 151,
"k_per_9_value": 11.117647,
"k_per_9_rank": 20,
"whip_value": 1.4598,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9934,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9934,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.046,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0189,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0611,
"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": 7,
"BB": 6,
"SO": 15,
"HR": 1,
"ERA": 2.53125,
"WHIP": 1.21875,
"K9": 12.65625,
"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-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "665622",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.529,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7148,
"prior_weight": 0.2852
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "665622",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 47,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.2
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 6.0,
"SO": 15.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.6,
"SO": 1.5,
"HR": 0.1,
"BF": 4.4,
"Pitches": 18.5
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.2188,
"ER_per_IP": 0.28125,
"H_per_IP": 0.65625,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.40625,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 47,
"totals": {
"IP": 62.1,
"ER": 23.0,
"R": 25.0,
"H": 54.0,
"BB": 31.0,
"SO": 77.0,
"HR": 7.0,
"BF": 267.0,
"Pitches": 1063.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4894,
"R": 0.5319,
"H": 1.1489,
"BB": 0.6596,
"SO": 1.6383,
"HR": 0.1489,
"BF": 5.6809,
"Pitches": 22.617
},
"rates": {
"ERA": 3.3209,
"WHIP": 1.3636,
"ER_per_IP": 0.36898,
"H_per_IP": 0.86631,
"BB_per_IP": 0.49733,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.1123
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.345,
"predicted_H": 0.795,
"predicted_BB": 0.4,
"predicted_SO": 1.373,
"predicted_HR": 0.085,
"predicted_ERA": 2.9642,
"predicted_WHIP": 1.1404
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4705,
"form_weight": 0.5295,
"form_reliability": 0.7148,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.529,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7148,
"prior_weight": 0.2852
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.345,
"final": 0.1827,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.795,
"final": 0.421,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.4,
"final": 0.2118,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.373,
"final": 0.727,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.085,
"final": 0.045,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9642,
"final": 2.9642,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1404,
"final": 1.1404,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Elvis Alvarado |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1171 |
| ESPN Rank | 210 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.8696 |
| Avg Spin | 2291.5063 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 4 |
| Season WHIP | 1.1778 |
| Role Avg IP | 1 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"opponent": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"edges": {
"quality_edge": -0.1856,
"offense_edge": -0.029,
"opponent_offense_edge": -0.118,
"defense_strength": -0.2183,
"opponent_defense_weakness": -0.015,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9907,
"run_prevention": 1.0122,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665660",
"profile": {
"available": true,
"pitcher_id": "665660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 164.0,
"k_percent": 29.5,
"bb_percent": 11.5,
"woba": 0.313,
"xwoba": 0.328,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 49.1,
"avg_best_speed": 79.6522,
"avg_hyper_speed": 95.2523,
"whiff_percent": 31.8,
"swing_percent": 51.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.6067,
"command_and_miss": 0.6986,
"regression_edge": -0.4286,
"xwoba_edge": -0.4857,
"barrel_edge": -1.7333,
"hard_hit_edge": -1.6143,
"whiff_edge": 0.9429,
"bb_edge": -0.6,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665660",
"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": 95.86960604448748,
"release_spin_rate": 2291.5062752627427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95.86960604448748,
"release_spin_rate": 2291.5062752627427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8696,
"release_spin_rate": 2291.5063,
"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.1171,
"sample_weight": 0.656,
"run_prevention_factor": 1.01,
"strikeout_factor": 1.0532,
"walk_factor": 1.0315,
"homer_factor": 1.1429,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665660",
"espn_id": 42211,
"player_name": "Elvis Alvarado",
"team": "ATH",
"role": "pitcher",
"espn_rank": 210,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 210,
"gp_value": 45.0,
"gp_rank": 126,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.0,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 5.0,
"sv_rank": 43,
"hld_value": 8.0,
"hld_rank": 109,
"ip_value": 45.0,
"ip_rank": 318,
"h_value": 32.0,
"h_rank": 383,
"er_value": 20.0,
"er_rank": 308,
"hr_value": 8.0,
"hr_rank": 196,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 54.0,
"k_rank": 254,
"k_per_9_value": 10.8,
"k_per_9_rank": 21,
"whip_value": 1.1777,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0066,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0066,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0207,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0937,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0349,
"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": 5,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 2.0769230769230766,
"WHIP": 1.0384615384615383,
"K9": 9.346153846153845,
"HR9": 1.0384615384615383,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "665660",
"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": 95.86960604448748,
"release_spin_rate": 2291.5062752627427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95.86960604448748,
"release_spin_rate": 2291.5062752627427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8696,
"release_spin_rate": 2291.5063,
"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.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "665660",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 139.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 3.5,
"Pitches": 13.9
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.0385,
"ER_per_IP": 0.23077,
"H_per_IP": 0.57692,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 45,
"totals": {
"IP": 45.0,
"ER": 20.0,
"R": 21.0,
"H": 32.0,
"BB": 21.0,
"SO": 54.0,
"HR": 8.0,
"BF": 183.0,
"Pitches": 765.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4444,
"R": 0.4667,
"H": 0.7111,
"BB": 0.4667,
"SO": 1.2,
"HR": 0.1778,
"BF": 4.0667,
"Pitches": 17.0
},
"rates": {
"ERA": 4.0,
"WHIP": 1.1778,
"ER_per_IP": 0.44444,
"H_per_IP": 0.71111,
"BB_per_IP": 0.46667,
"SO_per_IP": 1.2,
"HR_per_IP": 0.17778
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.218,
"predicted_H": 0.522,
"predicted_BB": 0.314,
"predicted_SO": 0.817,
"predicted_HR": 0.077,
"predicted_ERA": 2.5776,
"predicted_WHIP": 1.0959
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5004,
"form_weight": 0.4996,
"form_reliability": 0.644,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.045,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.644,
"prior_weight": 0.356
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.218,
"final": 0.1089,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.522,
"final": 0.7612,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.314,
"final": 1.1577,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.817,
"final": 0.9086,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0385,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5776,
"final": 2.5776,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0959,
"final": 1.0959,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.129 | 0.000 | 0.000 | Hitting_2B | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_AB | 3.570 | 4.000 | 5.000 | Hitting_AB | 3.603 | 4.000 | 0.397 | 0.000 |
| predicted_AVG | 0.274 | 0.000 | 0.200 | Hitting_AVG | 0.284 | 0.750 | -0.284 | -0.750 |
| predicted_BB | 0.280 | 1.000 | 0.000 | Hitting_BB | 0.258 | 1.000 | 0.742 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_H | 0.978 | 0.000 | 1.000 | Hitting_H | 1.022 | 3.000 | -1.022 | -3.000 |
| predicted_HR | 0.086 | 0.000 | 0.000 | Hitting_HR | 0.089 | 2.000 | -0.089 | -2.000 |
| predicted_OBP | 0.327 | 0.200 | 0.200 | Hitting_OBP | 0.349 | 0.833 | -0.149 | -0.633 |
| predicted_R | 0.441 | 1.000 | 1.000 | Hitting_R | 0.458 | 2.000 | 0.542 | -1.000 |
| predicted_RBI | 0.323 | 1.000 | 0.000 | Hitting_RBI | 0.363 | 4.000 | 0.637 | -3.000 |
| predicted_SLG | 0.389 | 0.000 | 0.200 | Hitting_SLG | 0.399 | 2.250 | -0.399 | -2.250 |
| predicted_SO | 1.108 | 1.000 | 1.000 | Hitting_SO | 1.095 | 0.000 | -0.095 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 0.2800 -> 1.0000 (boost 0.7200, better) |
| Biggest Deboost | predicted_H: 0.9780 -> 0.0000 (deboost -0.9780, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5700 -> 3.7250 (boost 0.1550, 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.3451 -> 0.3332 (deboost -0.0119, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 3.7250 -> 4.0000 (boost 0.2750, better) | predicted_RBI: 0.3597 -> 0.0000 (deboost -0.3597, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.282 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4710 -> 0.0000 (deboost -0.4710, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 5.0000 -> 4.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 | 3 | 1 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703607",
"player_name": "Henry Bolte",
"position": "CF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.011,
"predicted_AB": 3.57,
"predicted_AVG": 0.274,
"predicted_BB": 0.28,
"predicted_H": 0.978,
"predicted_HR": 0.086,
"predicted_OBP": 0.327,
"predicted_R": 0.441,
"predicted_RBI": 0.323,
"predicted_SLG": 0.389,
"predicted_SO": 1.108
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.141,
"predicted_3B": 0.0166,
"predicted_AB": 3.725,
"predicted_AVG": 0.2844,
"predicted_BB": 0.2903,
"predicted_H": 1.0611,
"predicted_HBP": 0.146,
"predicted_HR": 0.1173,
"predicted_OBP": 0.3451,
"predicted_R": 0.4812,
"predicted_RBI": 0.3675,
"predicted_SLG": 0.4245,
"predicted_SO": 1.1183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.141,
"delta": 0.012,
"percent_delta": 0.093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0166,
"delta": 0.0056,
"percent_delta": 0.5091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.57,
"after": 3.725,
"delta": 0.155,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2844,
"delta": 0.0104,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.2903,
"delta": 0.0103,
"percent_delta": 0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.978,
"after": 1.0611,
"delta": 0.0831,
"percent_delta": 0.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.1173,
"delta": 0.0313,
"percent_delta": 0.364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3451,
"delta": 0.0181,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.4812,
"delta": 0.0402,
"percent_delta": 0.0912,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.323,
"after": 0.3675,
"delta": 0.0445,
"percent_delta": 0.1378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.4245,
"delta": 0.0355,
"percent_delta": 0.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.1183,
"delta": 0.0103,
"percent_delta": 0.0093,
"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.57,
"after": 3.725,
"delta": 0.155,
"percent_delta": 0.0434,
"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": 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.141,
"predicted_3B": 0.0166,
"predicted_AB": 3.725,
"predicted_AVG": 0.2816,
"predicted_BB": 0.2884,
"predicted_H": 1.0489,
"predicted_HBP": 0.146,
"predicted_HR": 0.1156,
"predicted_OBP": 0.3332,
"predicted_R": 0.471,
"predicted_RBI": 0.3597,
"predicted_SLG": 0.4215,
"predicted_SO": 1.1258
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0166,
"after": 0.0166,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.725,
"after": 3.725,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2844,
"after": 0.2816,
"delta": -0.0028,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2903,
"after": 0.2884,
"delta": -0.0019,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0611,
"after": 1.0489,
"delta": -0.0122,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.146,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1173,
"after": 0.1156,
"delta": -0.0017,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.3332,
"delta": -0.0119,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4812,
"after": 0.471,
"delta": -0.0102,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3675,
"after": 0.3597,
"delta": -0.0078,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4245,
"after": 0.4215,
"delta": -0.003,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1183,
"after": 1.1258,
"delta": 0.0075,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3451,
"after": 0.3332,
"delta": -0.0119,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.282 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.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0166,
"after": 0.0,
"delta": -0.0166,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.725,
"after": 4.0,
"delta": 0.275,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2884,
"after": 0.0,
"delta": -0.2884,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0489,
"after": 1.0,
"delta": -0.0489,
"percent_delta": -0.0466,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1156,
"after": 0.0,
"delta": -0.1156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3597,
"after": 0.0,
"delta": -0.3597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1258,
"after": 1.0,
"delta": -0.1258,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.725,
"after": 4.0,
"delta": 0.275,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3597,
"after": 0.0,
"delta": -0.3597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"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": 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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.282,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.338,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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_AVG",
"before": 0.2816,
"after": 0.282,
"delta": 0.0004,
"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.3332,
"after": 0.338,
"delta": 0.0048,
"percent_delta": 0.0144,
"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.4215,
"after": 0.421,
"delta": -0.0005,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2816,
"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.3332,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4215,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2816,
"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.338,
"after": 0.3332,
"delta": -0.0048,
"percent_delta": -0.0142,
"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.421,
"after": 0.4215,
"delta": 0.0005,
"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": 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.129,
"after": 0.0,
"delta": -0.129,
"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.57,
"after": 4.0,
"delta": 0.43,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2816,
"delta": 0.0076,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.978,
"after": 0.0,
"delta": -0.978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3332,
"delta": 0.0062,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 1.0,
"delta": 0.559,
"percent_delta": 1.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.323,
"after": 1.0,
"delta": 0.677,
"percent_delta": 2.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.4215,
"delta": 0.0325,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.0,
"delta": -0.108,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.978,
"after": 0.0,
"delta": -0.978,
"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.129 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.570 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.280 | - |
| predicted_H | 0.978 | - |
| predicted_HR | 0.086 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.323 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 1.108 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | 0.012 |
| predicted_3B | 0.017 | 0.006 |
| predicted_AB | 3.725 | 0.155 |
| predicted_AVG | 0.284 | 0.010 |
| predicted_BB | 0.290 | 0.010 |
| predicted_H | 1.061 | 0.083 |
| predicted_HBP | 0.146 | - |
| predicted_HR | 0.117 | 0.031 |
| predicted_OBP | 0.345 | 0.018 |
| predicted_R | 0.481 | 0.040 |
| predicted_RBI | 0.367 | 0.044 |
| predicted_SLG | 0.424 | 0.035 |
| predicted_SO | 1.118 | 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.141 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.725 | 0.000 |
| predicted_AVG | 0.282 | -0.003 |
| predicted_BB | 0.288 | -0.002 |
| predicted_H | 1.049 | -0.012 |
| predicted_HBP | 0.146 | 0.000 |
| predicted_HR | 0.116 | -0.002 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 0.471 | -0.010 |
| predicted_RBI | 0.360 | -0.008 |
| predicted_SLG | 0.421 | -0.003 |
| predicted_SO | 1.126 | 0.007 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.282 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.141 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.275 |
| predicted_AVG | 0.282 | 0.000 |
| predicted_BB | 0.000 | -0.288 |
| predicted_H | 1.000 | -0.049 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.338 | 0.005 |
| predicted_R | 0.000 | -0.471 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.421 | -0.001 |
| predicted_SO | 1.000 | -0.126 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 2.000 | 5.000 | 0.3478 | 0.4231 | 0.6522 | 0.3478 | 0.0870 | 0.1739 | 0.0870 | 0.2174 |
| last_10 | 0.20 | 10 | - | 44.000 | 15.000 | 2.000 | 1.000 | 2.000 | 4.000 | 8.000 | 3.000 | 14.000 | 0.3409 | 0.4082 | 0.5682 | 0.3409 | 0.0454 | 0.0909 | 0.0682 | 0.3182 |
| season | 0.60 | 93 | - | 332.000 | 91.000 | 12.000 | 1.000 | 8.000 | 30.000 | 41.000 | 26.000 | 103.000 | 0.2741 | 0.3468 | 0.3886 | 0.2741 | 0.0241 | 0.0904 | 0.0783 | 0.3102 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.9320 |
| predicted_AVG | 0.2982 |
| predicted_BB | 0.3040 |
| predicted_H | 1.1720 |
| predicted_HBP | 0.1460 |
| predicted_HR | 0.1590 |
| predicted_OBP | 0.3692 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.4270 |
| predicted_SLG | 0.4720 |
| predicted_SO | 1.1320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1570 | 0.1410 | model_form_blend |
| predicted_3B | 0.0110 | 0.0240 | 0.0166 | model_form_blend |
| predicted_AB | 3.5700 | 3.9320 | 3.7250 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2982 | 0.2844 | model_form_blend |
| predicted_BB | 0.2800 | 0.3040 | 0.2903 | model_form_blend |
| predicted_H | 0.9780 | 1.1720 | 1.0611 | model_form_blend |
| predicted_HBP | - | 0.1460 | 0.1460 | form_only |
| predicted_HR | 0.0860 | 0.1590 | 0.1173 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3692 | 0.3451 | model_form_blend |
| predicted_R | 0.4410 | 0.5350 | 0.4812 | model_form_blend |
| predicted_RBI | 0.3230 | 0.4270 | 0.3675 | model_form_blend |
| predicted_SLG | 0.3890 | 0.4720 | 0.4245 | model_form_blend |
| predicted_SO | 1.1080 | 1.1320 | 1.1183 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 325 |
| Season rows before report date | 325 |
| 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 | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 1 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 9 |
| 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 | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 703607 |
| playerID | 703607 |
| playerName | Henry Bolte |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.331 |
| sl_xwoba | 0.31 |
| sl_xba | 0.246 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 27.2 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 47.6 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 0.9 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 50.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.180 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.404 | 5.000 | 3.000 | Hitting_AB | 3.734 | 5.000 | 1.266 | 0.000 |
| predicted_AVG | 0.215 | 0.200 | 0.333 | Hitting_AVG | 0.211 | 0.200 | -0.011 | 0.000 |
| predicted_BB | 0.270 | 0.000 | 0.000 | Hitting_BB | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.788 | 1.000 | 0.212 | 0.000 |
| predicted_HR | 0.146 | 0.000 | 0.000 | Hitting_HR | 0.147 | 1.000 | -0.147 | -1.000 |
| predicted_OBP | 0.272 | 0.200 | 0.333 | Hitting_OBP | 0.268 | 0.200 | -0.068 | 0.000 |
| predicted_R | 0.348 | 0.000 | 0.000 | Hitting_R | 0.359 | 1.000 | -0.359 | -1.000 |
| predicted_RBI | 0.472 | 0.000 | 0.000 | Hitting_RBI | 0.490 | 1.000 | -0.490 | -1.000 |
| predicted_SLG | 0.396 | 0.200 | 0.333 | Hitting_SLG | 0.377 | 0.800 | -0.177 | -0.600 |
| predicted_SO | 0.685 | 0.000 | 1.000 | Hitting_SO | 0.784 | 2.000 | -0.784 | -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_AB: 3.4040 -> 5.0000 (boost 1.5960, better) |
| Biggest Deboost | predicted_SO: 0.6850 -> 0.0000 (deboost -0.6850, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3960 -> 0.4106 (boost 0.0146, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6737 -> 1.0000 (boost 0.3263, worse) | predicted_AB: 3.4334 -> 3.0000 (deboost -0.4334, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.222 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3610 -> 0.0000 (deboost -0.3610, 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.4063 -> 0.4140 (boost 0.0077, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4140 -> 0.4063 (deboost -0.0077, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641680",
"player_name": "Jonah Heim",
"position": "DH",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.18,
"predicted_3B": 0.0,
"predicted_AB": 3.404,
"predicted_AVG": 0.215,
"predicted_BB": 0.27,
"predicted_H": 0.73,
"predicted_HR": 0.146,
"predicted_OBP": 0.272,
"predicted_R": 0.348,
"predicted_RBI": 0.472,
"predicted_SLG": 0.396,
"predicted_SO": 0.685
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1757,
"predicted_3B": 0.0004,
"predicted_AB": 3.4334,
"predicted_AVG": 0.225,
"predicted_BB": 0.2589,
"predicted_H": 0.7717,
"predicted_HBP": 0.015,
"predicted_HR": 0.1541,
"predicted_OBP": 0.2798,
"predicted_R": 0.3689,
"predicted_RBI": 0.4379,
"predicted_SLG": 0.4106,
"predicted_SO": 0.6692
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.1757,
"delta": -0.0043,
"percent_delta": -0.0239,
"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.404,
"after": 3.4334,
"delta": 0.0294,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.225,
"delta": 0.01,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.2589,
"delta": -0.0111,
"percent_delta": -0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7717,
"delta": 0.0417,
"percent_delta": 0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.146,
"after": 0.1541,
"delta": 0.0081,
"percent_delta": 0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2798,
"delta": 0.0078,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.348,
"after": 0.3689,
"delta": 0.0209,
"percent_delta": 0.0601,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 0.4379,
"delta": -0.0341,
"percent_delta": -0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4106,
"delta": 0.0146,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.685,
"after": 0.6692,
"delta": -0.0158,
"percent_delta": -0.0231,
"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.396,
"after": 0.4106,
"delta": 0.0146,
"percent_delta": 0.0369,
"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.1757,
"predicted_3B": 0.0004,
"predicted_AB": 3.4334,
"predicted_AVG": 0.2222,
"predicted_BB": 0.2572,
"predicted_H": 0.7628,
"predicted_HBP": 0.015,
"predicted_HR": 0.1519,
"predicted_OBP": 0.2764,
"predicted_R": 0.361,
"predicted_RBI": 0.4286,
"predicted_SLG": 0.4063,
"predicted_SO": 0.6737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1757,
"after": 0.1757,
"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.4334,
"after": 3.4334,
"delta": 0.0,
"percent_delta": 0.0,
"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.2589,
"after": 0.2572,
"delta": -0.0017,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7717,
"after": 0.7628,
"delta": -0.0089,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1541,
"after": 0.1519,
"delta": -0.0022,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2798,
"after": 0.2764,
"delta": -0.0034,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3689,
"after": 0.361,
"delta": -0.0079,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4379,
"after": 0.4286,
"delta": -0.0093,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4106,
"after": 0.4063,
"delta": -0.0043,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6692,
"after": 0.6737,
"delta": 0.0045,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.43), rates preserved: AVG=0.222 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1757,
"after": 0.0,
"delta": -0.1757,
"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.4334,
"after": 3.0,
"delta": -0.4334,
"percent_delta": -0.1262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2572,
"after": 0.0,
"delta": -0.2572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7628,
"after": 1.0,
"delta": 0.2372,
"percent_delta": 0.311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1519,
"after": 0.0,
"delta": -0.1519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4286,
"after": 0.0,
"delta": -0.4286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6737,
"after": 1.0,
"delta": 0.3263,
"percent_delta": 0.4843,
"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.6737,
"after": 1.0,
"delta": 0.3263,
"percent_delta": 0.4843,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4334,
"after": 3.0,
"delta": -0.4334,
"percent_delta": -0.1262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.361,
"after": 0.0,
"delta": -0.361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.361,
"after": 0.0,
"delta": -0.361,
"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.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2222,
"after": 0.222,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2764,
"after": 0.282,
"delta": 0.0056,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4063,
"after": 0.414,
"delta": 0.0077,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4063,
"after": 0.414,
"delta": 0.0077,
"percent_delta": 0.019,
"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": 1.0,
"predicted_HBP": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2222,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2764,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4063,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.222,
"after": 0.2222,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2764,
"delta": -0.0056,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4063,
"delta": -0.0077,
"percent_delta": -0.0186,
"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.414,
"after": 0.4063,
"delta": -0.0077,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"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.404,
"after": 5.0,
"delta": 1.596,
"percent_delta": 0.4689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2222,
"delta": 0.0072,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2764,
"delta": 0.0044,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4063,
"delta": 0.0103,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.685,
"after": 0.0,
"delta": -0.685,
"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.404,
"after": 5.0,
"delta": 1.596,
"percent_delta": 0.4689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.685,
"after": 0.0,
"delta": -0.685,
"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.180 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.404 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.270 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.146 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.348 | - |
| predicted_RBI | 0.472 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.685 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | -0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.433 | 0.029 |
| predicted_AVG | 0.225 | 0.010 |
| predicted_BB | 0.259 | -0.011 |
| predicted_H | 0.772 | 0.042 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.154 | 0.008 |
| predicted_OBP | 0.280 | 0.008 |
| predicted_R | 0.369 | 0.021 |
| predicted_RBI | 0.438 | -0.034 |
| predicted_SLG | 0.411 | 0.015 |
| predicted_SO | 0.669 | -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.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.433 | 0.000 |
| predicted_AVG | 0.222 | -0.003 |
| predicted_BB | 0.257 | -0.002 |
| predicted_H | 0.763 | -0.009 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.152 | -0.002 |
| predicted_OBP | 0.276 | -0.003 |
| predicted_R | 0.361 | -0.008 |
| predicted_RBI | 0.429 | -0.009 |
| predicted_SLG | 0.406 | -0.004 |
| predicted_SO | 0.674 | 0.004 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.222 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.176 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.433 |
| predicted_AVG | 0.222 | -0.000 |
| predicted_BB | 0.000 | -0.257 |
| predicted_H | 1.000 | 0.237 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.282 | 0.006 |
| predicted_R | 0.000 | -0.361 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.414 | 0.008 |
| predicted_SO | 1.000 | 0.326 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.2941 | 0.3333 | 0.5294 | 0.2941 | 0.0588 | 0.0588 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 1.000 | 0.000 | 2.000 | 3.000 | 5.000 | 2.000 | 7.000 | 0.2500 | 0.2895 | 0.4444 | 0.2500 | 0.0556 | 0.0833 | 0.0556 | 0.1944 |
| season | 0.60 | 89 | - | 303.000 | 65.000 | 16.000 | 0.000 | 13.000 | 42.000 | 31.000 | 24.000 | 61.000 | 0.2145 | 0.2741 | 0.3960 | 0.2145 | 0.0429 | 0.1386 | 0.0792 | 0.2013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1700 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4730 |
| predicted_AVG | 0.2384 |
| predicted_BB | 0.2440 |
| predicted_H | 0.8280 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.2904 |
| predicted_R | 0.3970 |
| predicted_RBI | 0.3920 |
| predicted_SLG | 0.4303 |
| predicted_SO | 0.6480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1800 | 0.1700 | 0.1757 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4040 | 3.4730 | 3.4334 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2384 | 0.2250 | model_form_blend |
| predicted_BB | 0.2700 | 0.2440 | 0.2589 | model_form_blend |
| predicted_H | 0.7300 | 0.8280 | 0.7717 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1460 | 0.1650 | 0.1541 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2904 | 0.2798 | model_form_blend |
| predicted_R | 0.3480 | 0.3970 | 0.3689 | model_form_blend |
| predicted_RBI | 0.4720 | 0.3920 | 0.4379 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4303 | 0.4106 | model_form_blend |
| predicted_SO | 0.6850 | 0.6480 | 0.6692 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 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 | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 641680 |
| playerID | 641680 |
| playerName | Jonah Heim |
| pos | C |
| started | True |
| startingPosition | 1B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.293 |
| sl_xwoba | 0.295 |
| sl_xba | 0.231 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 33.1 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 50.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.165 | 0.000 | 1.000 | Hitting_2B | 0.180 | 1.000 | -0.180 | -1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.635 | 4.000 | 5.000 | Hitting_AB | 3.763 | 5.000 | 0.237 | -1.000 |
| predicted_AVG | 0.256 | 0.250 | 0.200 | Hitting_AVG | 0.274 | 0.400 | -0.024 | -0.150 |
| predicted_BB | 0.306 | 1.000 | 1.000 | Hitting_BB | 0.303 | 0.000 | 0.697 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.929 | 1.000 | 1.000 | Hitting_H | 1.030 | 2.000 | -0.030 | -1.000 |
| predicted_HR | 0.176 | 0.000 | 0.000 | Hitting_HR | 0.207 | 1.000 | -0.207 | -1.000 |
| predicted_OBP | 0.313 | 0.400 | 0.333 | Hitting_OBP | 0.339 | 0.400 | 0.061 | 0.000 |
| predicted_R | 0.647 | 0.000 | 1.000 | Hitting_R | 0.737 | 1.000 | -0.737 | -1.000 |
| predicted_RBI | 0.459 | 0.000 | 1.000 | Hitting_RBI | 0.513 | 1.000 | -0.513 | -1.000 |
| predicted_SLG | 0.453 | 0.250 | 0.400 | Hitting_SLG | 0.495 | 1.200 | -0.245 | -0.950 |
| predicted_SO | 1.024 | 1.000 | 1.000 | Hitting_SO | 1.040 | 2.000 | -0.040 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3060 -> 1.0000 (boost 0.6940, better) |
| Biggest Deboost | predicted_R: 0.6470 -> 0.0000 (deboost -0.6470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 2 | 3 | predicted_SO: 1.0240 -> 1.0850 (boost 0.0610, worse) | predicted_SLG: 0.4530 -> 0.4421 (deboost -0.0109, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3196 -> 0.3134 (deboost -0.0062, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_AB: 3.6512 -> 4.0000 (boost 0.3488, better) | predicted_RBI: 0.4179 -> 0.0000 (deboost -0.4179, worse) | AB rounded to 4 (raw=3.65), rates preserved: AVG=0.246 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6369 -> 1.0000 (boost 0.3631, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 4 | 4 | 0 | 4 | 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 | 5 | 1 | 4 | 1 | 4 | predicted_OBP: 0.3134 -> 0.3190 (boost 0.0056, 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_R: 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.3190 -> 0.3134 (deboost -0.0056, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680869",
"player_name": "Zack Gelof",
"position": "LF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.165,
"predicted_3B": 0.012,
"predicted_AB": 3.635,
"predicted_AVG": 0.256,
"predicted_BB": 0.306,
"predicted_H": 0.929,
"predicted_HR": 0.176,
"predicted_OBP": 0.313,
"predicted_R": 0.647,
"predicted_RBI": 0.459,
"predicted_SLG": 0.453,
"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.171,
"predicted_3B": 0.0103,
"predicted_AB": 3.6512,
"predicted_AVG": 0.2494,
"predicted_BB": 0.3589,
"predicted_H": 0.9098,
"predicted_HBP": 0.053,
"predicted_HR": 0.1709,
"predicted_OBP": 0.3196,
"predicted_R": 0.6508,
"predicted_RBI": 0.427,
"predicted_SLG": 0.4421,
"predicted_SO": 1.085
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.171,
"delta": 0.006,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.635,
"after": 3.6512,
"delta": 0.0162,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2494,
"delta": -0.0066,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.3589,
"delta": 0.0529,
"percent_delta": 0.1729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.929,
"after": 0.9098,
"delta": -0.0192,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.176,
"after": 0.1709,
"delta": -0.0051,
"percent_delta": -0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3196,
"delta": 0.0066,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 0.6508,
"delta": 0.0038,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.427,
"delta": -0.032,
"percent_delta": -0.0697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4421,
"delta": -0.0109,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.085,
"delta": 0.061,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.024,
"after": 1.085,
"delta": 0.061,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4421,
"delta": -0.0109,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.171,
"predicted_3B": 0.0103,
"predicted_AB": 3.6512,
"predicted_AVG": 0.2463,
"predicted_BB": 0.3565,
"predicted_H": 0.8993,
"predicted_HBP": 0.053,
"predicted_HR": 0.1685,
"predicted_OBP": 0.3134,
"predicted_R": 0.6369,
"predicted_RBI": 0.4179,
"predicted_SLG": 0.4372,
"predicted_SO": 1.0923
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6512,
"after": 3.6512,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2494,
"after": 0.2463,
"delta": -0.0031,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3589,
"after": 0.3565,
"delta": -0.0024,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9098,
"after": 0.8993,
"delta": -0.0105,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1709,
"after": 0.1685,
"delta": -0.0024,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3196,
"after": 0.3134,
"delta": -0.0062,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6508,
"after": 0.6369,
"delta": -0.0139,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.427,
"after": 0.4179,
"delta": -0.0091,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4421,
"after": 0.4372,
"delta": -0.0049,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.085,
"after": 1.0923,
"delta": 0.0073,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3196,
"after": 0.3134,
"delta": -0.0062,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.246 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6512,
"after": 4.0,
"delta": 0.3488,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3565,
"after": 0.0,
"delta": -0.3565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8993,
"after": 1.0,
"delta": 0.1007,
"percent_delta": 0.112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1685,
"after": 0.0,
"delta": -0.1685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4179,
"after": 0.0,
"delta": -0.4179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0923,
"after": 1.0,
"delta": -0.0923,
"percent_delta": -0.0845,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6512,
"after": 4.0,
"delta": 0.3488,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4179,
"after": 0.0,
"delta": -0.4179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"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.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"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": 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": 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": 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": 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": 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.246,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.437,
"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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2463,
"after": 0.246,
"delta": -0.0003,
"percent_delta": -0.0012,
"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.3134,
"after": 0.319,
"delta": 0.0056,
"percent_delta": 0.0179,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4372,
"after": 0.437,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_OBP",
"before": 0.3134,
"after": 0.319,
"delta": 0.0056,
"percent_delta": 0.0179,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2463,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3134,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4372,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2463,
"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.319,
"after": 0.3134,
"delta": -0.0056,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4372,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.319,
"after": 0.3134,
"delta": -0.0056,
"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.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.635,
"after": 4.0,
"delta": 0.365,
"percent_delta": 0.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2463,
"delta": -0.0097,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"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.929,
"after": 1.0,
"delta": 0.071,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3134,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4372,
"delta": -0.0158,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"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_R",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.635 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.929 | - |
| predicted_HR | 0.176 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.647 | - |
| predicted_RBI | 0.459 | - |
| predicted_SLG | 0.453 | - |
| 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.171 | 0.006 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.651 | 0.016 |
| predicted_AVG | 0.249 | -0.007 |
| predicted_BB | 0.359 | 0.053 |
| predicted_H | 0.910 | -0.019 |
| predicted_HBP | 0.053 | - |
| predicted_HR | 0.171 | -0.005 |
| predicted_OBP | 0.320 | 0.007 |
| predicted_R | 0.651 | 0.004 |
| predicted_RBI | 0.427 | -0.032 |
| predicted_SLG | 0.442 | -0.011 |
| predicted_SO | 1.085 | 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.171 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.651 | 0.000 |
| predicted_AVG | 0.246 | -0.003 |
| predicted_BB | 0.356 | -0.002 |
| predicted_H | 0.899 | -0.011 |
| predicted_HBP | 0.053 | 0.000 |
| predicted_HR | 0.169 | -0.002 |
| predicted_OBP | 0.313 | -0.006 |
| predicted_R | 0.637 | -0.014 |
| predicted_RBI | 0.418 | -0.009 |
| predicted_SLG | 0.437 | -0.005 |
| predicted_SO | 1.092 | 0.007 |
AB rounded to 4 (raw=3.65), rates preserved: AVG=0.246 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 |
| BB | 1.000 | 1.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.171 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.349 |
| predicted_AVG | 0.246 | -0.000 |
| predicted_BB | 0.000 | -0.356 |
| predicted_H | 1.000 | 0.101 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.319 | 0.006 |
| predicted_R | 1.000 | 0.363 |
| predicted_RBI | 0.000 | -0.418 |
| predicted_SLG | 0.437 | -0.000 |
| predicted_SO | 1.000 | -0.092 |
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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 8.000 | 0.2222 | 0.3636 | 0.4444 | 0.2222 | 0.0556 | 0.0556 | 0.2222 | 0.4444 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 2.000 | 0.000 | 1.000 | 3.000 | 6.000 | 5.000 | 13.000 | 0.2105 | 0.3182 | 0.3421 | 0.2105 | 0.0263 | 0.0790 | 0.1316 | 0.3421 |
| season | 0.60 | 85 | - | 309.000 | 79.000 | 14.000 | 1.000 | 15.000 | 39.000 | 55.000 | 26.000 | 87.000 | 0.2557 | 0.3235 | 0.4531 | 0.2557 | 0.0485 | 0.1262 | 0.0841 | 0.2816 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1790 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6730 |
| predicted_AVG | 0.2406 |
| predicted_BB | 0.4300 |
| predicted_H | 0.8840 |
| predicted_HBP | 0.0530 |
| predicted_HR | 0.1640 |
| predicted_OBP | 0.3284 |
| predicted_R | 0.6560 |
| predicted_RBI | 0.3840 |
| predicted_SLG | 0.4274 |
| predicted_SO | 1.1670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.1790 | 0.1710 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.6350 | 3.6730 | 3.6512 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2406 | 0.2494 | model_form_blend |
| predicted_BB | 0.3060 | 0.4300 | 0.3589 | model_form_blend |
| predicted_H | 0.9290 | 0.8840 | 0.9098 | model_form_blend |
| predicted_HBP | - | 0.0530 | 0.0530 | form_only |
| predicted_HR | 0.1760 | 0.1640 | 0.1709 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3284 | 0.3196 | model_form_blend |
| predicted_R | 0.6470 | 0.6560 | 0.6508 | model_form_blend |
| predicted_RBI | 0.4590 | 0.3840 | 0.4270 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4274 | 0.4421 | model_form_blend |
| predicted_SO | 1.0240 | 1.1670 | 1.0850 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 300 |
| Season rows before report date | 300 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 680869 |
| playerID | 680869 |
| playerName | Zack Gelof |
| pos | 3B |
| started | True |
| startingPosition | LF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.34 |
| sl_xwoba | 0.305 |
| sl_xba | 0.225 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 1.000 | 0.000 | Hitting_2B | 0.169 | 0.000 | 0.831 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.306 | 4.000 | 3.000 | Hitting_AB | 3.491 | 5.000 | 0.509 | -1.000 |
| predicted_AVG | 0.268 | 0.250 | 0.333 | Hitting_AVG | 0.281 | 0.400 | -0.031 | -0.150 |
| predicted_BB | 0.207 | 0.000 | 0.000 | Hitting_BB | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.884 | 1.000 | 1.000 | Hitting_H | 0.982 | 2.000 | 0.018 | -1.000 |
| predicted_HR | 0.058 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.311 | 0.250 | 0.333 | Hitting_OBP | 0.330 | 0.400 | -0.080 | -0.150 |
| predicted_R | 0.339 | 0.000 | 1.000 | Hitting_R | 0.381 | 2.000 | -0.381 | -2.000 |
| predicted_RBI | 0.405 | 0.000 | 0.000 | Hitting_RBI | 0.448 | 0.000 | -0.448 | 0.000 |
| predicted_SLG | 0.368 | 0.500 | 0.333 | Hitting_SLG | 0.382 | 0.400 | 0.118 | 0.100 |
| predicted_SO | 0.397 | 1.000 | 1.000 | Hitting_SO | 0.402 | 0.000 | 0.598 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1570 -> 1.0000 (boost 0.8430, better) |
| Biggest Deboost | predicted_RBI: 0.4050 -> 0.0000 (deboost -0.4050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_AB: 3.3060 -> 3.4883 (boost 0.1823, 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.3204 -> 0.3127 (deboost -0.0077, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 3.4883 -> 3.0000 (deboost -0.4883, worse) | AB rounded to 3 (raw=3.49), rates preserved: AVG=0.273 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3942 -> 0.0000 (deboost -0.3942, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 1 | 1 | 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 | 2 | 2 | 3 | 1 | predicted_SLG: 0.3845 -> 0.3920 (boost 0.0075, 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 | 3 | 3 | 0 | 2 | 1 | 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.3920 -> 0.3845 (deboost -0.0075, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "1B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 3.306,
"predicted_AVG": 0.268,
"predicted_BB": 0.207,
"predicted_H": 0.884,
"predicted_HR": 0.058,
"predicted_OBP": 0.311,
"predicted_R": 0.339,
"predicted_RBI": 0.405,
"predicted_SLG": 0.368,
"predicted_SO": 0.397
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1717,
"predicted_3B": 0.0004,
"predicted_AB": 3.4883,
"predicted_AVG": 0.276,
"predicted_BB": 0.2023,
"predicted_H": 0.9637,
"predicted_HBP": 0.071,
"predicted_HR": 0.0731,
"predicted_OBP": 0.3204,
"predicted_R": 0.4028,
"predicted_RBI": 0.4369,
"predicted_SLG": 0.3874,
"predicted_SO": 0.4263
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1717,
"delta": 0.0147,
"percent_delta": 0.0936,
"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.306,
"after": 3.4883,
"delta": 0.1823,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.276,
"delta": 0.008,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.207,
"after": 0.2023,
"delta": -0.0047,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.884,
"after": 0.9637,
"delta": 0.0797,
"percent_delta": 0.0902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.058,
"after": 0.0731,
"delta": 0.0151,
"percent_delta": 0.2603,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3204,
"delta": 0.0094,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.4028,
"delta": 0.0638,
"percent_delta": 0.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.405,
"after": 0.4369,
"delta": 0.0319,
"percent_delta": 0.0788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3874,
"delta": 0.0194,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.397,
"after": 0.4263,
"delta": 0.0293,
"percent_delta": 0.0738,
"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": 3.306,
"after": 3.4883,
"delta": 0.1823,
"percent_delta": 0.0551,
"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": 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.1717,
"predicted_3B": 0.0004,
"predicted_AB": 3.4883,
"predicted_AVG": 0.2731,
"predicted_BB": 0.2009,
"predicted_H": 0.9526,
"predicted_HBP": 0.071,
"predicted_HR": 0.0721,
"predicted_OBP": 0.3127,
"predicted_R": 0.3942,
"predicted_RBI": 0.4276,
"predicted_SLG": 0.3845,
"predicted_SO": 0.4292
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1717,
"after": 0.1717,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4883,
"after": 3.4883,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2731,
"delta": -0.0029,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2023,
"after": 0.2009,
"delta": -0.0014,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9637,
"after": 0.9526,
"delta": -0.0111,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0731,
"after": 0.0721,
"delta": -0.001,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3204,
"after": 0.3127,
"delta": -0.0077,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4028,
"after": 0.3942,
"delta": -0.0086,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4369,
"after": 0.4276,
"delta": -0.0093,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3874,
"after": 0.3845,
"delta": -0.0029,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4263,
"after": 0.4292,
"delta": 0.0029,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3204,
"after": 0.3127,
"delta": -0.0077,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.49), rates preserved: AVG=0.273 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1717,
"after": 0.0,
"delta": -0.1717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4883,
"after": 3.0,
"delta": -0.4883,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2009,
"after": 0.0,
"delta": -0.2009,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9526,
"after": 1.0,
"delta": 0.0474,
"percent_delta": 0.0498,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0721,
"after": 0.0,
"delta": -0.0721,
"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": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4883,
"after": 3.0,
"delta": -0.4883,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3942,
"after": 0.0,
"delta": -0.3942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3942,
"after": 0.0,
"delta": -0.3942,
"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": 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": 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_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": 3.0,
"predicted_AVG": 0.273,
"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.392,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2731,
"after": 0.273,
"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.3127,
"after": 0.318,
"delta": 0.0053,
"percent_delta": 0.0169,
"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.3845,
"after": 0.392,
"delta": 0.0075,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3845,
"after": 0.392,
"delta": 0.0075,
"percent_delta": 0.0195,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.2731,
"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.3127,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3845,
"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.273,
"after": 0.2731,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3127,
"delta": -0.0053,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3845,
"delta": -0.0075,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.392,
"after": 0.3845,
"delta": -0.0075,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 1.0,
"delta": 0.843,
"percent_delta": 5.3694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.306,
"after": 4.0,
"delta": 0.694,
"percent_delta": 0.2099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2731,
"delta": 0.0051,
"percent_delta": 0.019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.884,
"after": 1.0,
"delta": 0.116,
"percent_delta": 0.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3127,
"delta": 0.0017,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3845,
"delta": 0.0165,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.397,
"after": 1.0,
"delta": 0.603,
"percent_delta": 1.5189,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.157,
"after": 1.0,
"delta": 0.843,
"percent_delta": 5.3694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.306 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.207 | - |
| predicted_H | 0.884 | - |
| predicted_HR | 0.058 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.339 | - |
| predicted_RBI | 0.405 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.397 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.488 | 0.182 |
| predicted_AVG | 0.276 | 0.008 |
| predicted_BB | 0.202 | -0.005 |
| predicted_H | 0.964 | 0.080 |
| predicted_HBP | 0.071 | - |
| predicted_HR | 0.073 | 0.015 |
| predicted_OBP | 0.320 | 0.009 |
| predicted_R | 0.403 | 0.064 |
| predicted_RBI | 0.437 | 0.032 |
| predicted_SLG | 0.387 | 0.019 |
| predicted_SO | 0.426 | 0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.488 | 0.000 |
| predicted_AVG | 0.273 | -0.003 |
| predicted_BB | 0.201 | -0.001 |
| predicted_H | 0.953 | -0.011 |
| predicted_HBP | 0.071 | 0.000 |
| predicted_HR | 0.072 | -0.001 |
| predicted_OBP | 0.313 | -0.008 |
| predicted_R | 0.394 | -0.009 |
| predicted_RBI | 0.428 | -0.009 |
| predicted_SLG | 0.385 | -0.003 |
| predicted_SO | 0.429 | 0.003 |
AB rounded to 3 (raw=3.49), rates preserved: AVG=0.273 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 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.172 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.488 |
| predicted_AVG | 0.273 | -0.000 |
| predicted_BB | 0.000 | -0.201 |
| predicted_H | 1.000 | 0.047 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.318 | 0.005 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.392 | 0.008 |
| predicted_SO | 0.000 | -0.429 |
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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 3.000 | 0.3182 | 0.3750 | 0.5000 | 0.3182 | 0.0454 | 0.1364 | 0.0454 | 0.1364 |
| last_10 | 0.20 | 10 | - | 43.000 | 14.000 | 3.000 | 0.000 | 1.000 | 6.000 | 7.000 | 1.000 | 4.000 | 0.3256 | 0.3556 | 0.4651 | 0.3256 | 0.0233 | 0.1395 | 0.0233 | 0.0930 |
| season | 0.60 | 121 | - | 400.000 | 107.000 | 19.000 | 0.000 | 7.000 | 49.000 | 41.000 | 25.000 | 48.000 | 0.2675 | 0.3141 | 0.3675 | 0.2675 | 0.0175 | 0.1225 | 0.0625 | 0.1200 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7290 |
| predicted_AVG | 0.2866 |
| predicted_BB | 0.1960 |
| predicted_H | 1.0690 |
| predicted_HBP | 0.0710 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3327 |
| predicted_R | 0.4870 |
| predicted_RBI | 0.4790 |
| predicted_SLG | 0.4131 |
| predicted_SO | 0.4650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1910 | 0.1717 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3060 | 3.7290 | 3.4883 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2866 | 0.2760 | model_form_blend |
| predicted_BB | 0.2070 | 0.1960 | 0.2023 | model_form_blend |
| predicted_H | 0.8840 | 1.0690 | 0.9637 | model_form_blend |
| predicted_HBP | - | 0.0710 | 0.0710 | form_only |
| predicted_HR | 0.0580 | 0.0930 | 0.0731 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3327 | 0.3204 | model_form_blend |
| predicted_R | 0.3390 | 0.4870 | 0.4028 | model_form_blend |
| predicted_RBI | 0.4050 | 0.4790 | 0.4369 | model_form_blend |
| predicted_SLG | 0.3680 | 0.4131 | 0.3874 | model_form_blend |
| predicted_SO | 0.3970 | 0.4650 | 0.4263 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 391 |
| Season rows before report date | 391 |
| Report year | 2026 |
| Profile rows used | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 643446 |
| playerID | 643446 |
| playerName | Jeff McNeil |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 11.0 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.303 |
| sl_xwoba | 0.307 |
| sl_xba | 0.279 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 15.5 |
| sl_swing_percent | 58.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.254 | 0.000 | 1.000 | Hitting_2B | 0.274 | 1.000 | -0.274 | -1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 2.746 | 3.000 | 3.000 | Hitting_AB | 2.940 | 4.000 | 0.060 | -1.000 |
| predicted_AVG | 0.272 | 0.333 | 0.333 | Hitting_AVG | 0.267 | 0.500 | 0.066 | -0.167 |
| predicted_BB | 0.102 | 1.000 | 0.000 | Hitting_BB | 0.131 | 1.000 | 0.869 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.746 | 1.000 | 1.000 | Hitting_H | 0.786 | 2.000 | 0.214 | -1.000 |
| predicted_HR | 0.051 | 1.000 | 0.000 | Hitting_HR | 0.048 | 1.000 | 0.952 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.333 | Hitting_OBP | 0.305 | 0.600 | 0.195 | -0.100 |
| predicted_R | 0.322 | 1.000 | 0.000 | Hitting_R | 0.357 | 1.000 | 0.643 | 0.000 |
| predicted_RBI | 0.237 | 1.000 | 0.000 | Hitting_RBI | 0.244 | 3.000 | 0.756 | -2.000 |
| predicted_SLG | 0.432 | 1.333 | 0.667 | Hitting_SLG | 0.413 | 1.500 | 0.920 | -0.167 |
| predicted_SO | 0.712 | 0.000 | 1.000 | Hitting_SO | 0.762 | 1.000 | -0.762 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_HR: 0.0510 -> 1.0000 (boost 0.9490, better) |
| Biggest Deboost | predicted_SO: 0.7120 -> 0.0000 (deboost -0.7120, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 2.7460 -> 2.8734 (boost 0.1274, 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_SO: 0.7450 -> 1.0000 (boost 0.2550, worse) | predicted_RBI: 0.3099 -> 0.0000 (deboost -0.3099, worse) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.273 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3477 -> 0.0000 (deboost -0.3477, 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.3007 -> 0.3060 (boost 0.0053, 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 | 4 | 1 | 5 | 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3060 -> 0.3007 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "675961",
"player_name": "Alika Williams",
"position": "SS",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.254,
"predicted_3B": 0.017,
"predicted_AB": 2.746,
"predicted_AVG": 0.272,
"predicted_BB": 0.102,
"predicted_H": 0.746,
"predicted_HR": 0.051,
"predicted_OBP": 0.298,
"predicted_R": 0.322,
"predicted_RBI": 0.237,
"predicted_SLG": 0.432,
"predicted_SO": 0.712
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2641,
"predicted_3B": 0.034,
"predicted_AB": 2.8734,
"predicted_AVG": 0.2757,
"predicted_BB": 0.1166,
"predicted_H": 0.7923,
"predicted_HBP": 0.014,
"predicted_HR": 0.068,
"predicted_OBP": 0.305,
"predicted_R": 0.3553,
"predicted_RBI": 0.3166,
"predicted_SLG": 0.4604,
"predicted_SO": 0.74
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2641,
"delta": 0.0101,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.034,
"delta": 0.017,
"percent_delta": 1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.746,
"after": 2.8734,
"delta": 0.1274,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2757,
"delta": 0.0037,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.102,
"after": 0.1166,
"delta": 0.0146,
"percent_delta": 0.1431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.746,
"after": 0.7923,
"delta": 0.0463,
"percent_delta": 0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.051,
"after": 0.068,
"delta": 0.017,
"percent_delta": 0.3333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.305,
"delta": 0.007,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.3553,
"delta": 0.0333,
"percent_delta": 0.1034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.237,
"after": 0.3166,
"delta": 0.0796,
"percent_delta": 0.3359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4604,
"delta": 0.0284,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 0.74,
"delta": 0.028,
"percent_delta": 0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.746,
"after": 2.8734,
"delta": 0.1274,
"percent_delta": 0.0464,
"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": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2641,
"predicted_3B": 0.034,
"predicted_AB": 2.8734,
"predicted_AVG": 0.2726,
"predicted_BB": 0.1158,
"predicted_H": 0.7832,
"predicted_HBP": 0.014,
"predicted_HR": 0.067,
"predicted_OBP": 0.3007,
"predicted_R": 0.3477,
"predicted_RBI": 0.3099,
"predicted_SLG": 0.4581,
"predicted_SO": 0.745
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2641,
"after": 0.2641,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8734,
"after": 2.8734,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2757,
"after": 0.2726,
"delta": -0.0031,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1166,
"after": 0.1158,
"delta": -0.0008,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7923,
"after": 0.7832,
"delta": -0.0091,
"percent_delta": -0.0115,
"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.068,
"after": 0.067,
"delta": -0.001,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3007,
"delta": -0.0043,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3553,
"after": 0.3477,
"delta": -0.0076,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3166,
"after": 0.3099,
"delta": -0.0067,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4604,
"after": 0.4581,
"delta": -0.0023,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.745,
"delta": 0.005,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.273 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.2641,
"after": 0.0,
"delta": -0.2641,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8734,
"after": 3.0,
"delta": 0.1266,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1158,
"after": 0.0,
"delta": -0.1158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7832,
"after": 1.0,
"delta": 0.2168,
"percent_delta": 0.2768,
"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.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3099,
"after": 0.0,
"delta": -0.3099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 1.0,
"delta": 0.255,
"percent_delta": 0.3423,
"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.745,
"after": 1.0,
"delta": 0.255,
"percent_delta": 0.3423,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3099,
"after": 0.0,
"delta": -0.3099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3477,
"after": 0.0,
"delta": -0.3477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3477,
"after": 0.0,
"delta": -0.3477,
"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.273,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.306,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.458,
"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.2726,
"after": 0.273,
"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.3007,
"after": 0.306,
"delta": 0.0053,
"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.4581,
"after": 0.458,
"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.3007,
"after": 0.306,
"delta": 0.0053,
"percent_delta": 0.0176,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2726,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3007,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4581,
"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.273,
"after": 0.2726,
"delta": -0.0004,
"percent_delta": -0.0016,
"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": 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.306,
"after": 0.3007,
"delta": -0.0053,
"percent_delta": -0.0172,
"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.458,
"after": 0.4581,
"delta": 0.0001,
"percent_delta": 0.0003,
"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.306,
"after": 0.3007,
"delta": -0.0053,
"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.254,
"after": 0.0,
"delta": -0.254,
"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": 2.746,
"after": 3.0,
"delta": 0.254,
"percent_delta": 0.0925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2726,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.102,
"after": 1.0,
"delta": 0.898,
"percent_delta": 8.8039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.746,
"after": 1.0,
"delta": 0.254,
"percent_delta": 0.3405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.051,
"after": 1.0,
"delta": 0.949,
"percent_delta": 18.6078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3007,
"delta": 0.0027,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 1.0,
"delta": 0.678,
"percent_delta": 2.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.237,
"after": 1.0,
"delta": 0.763,
"percent_delta": 3.2194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.4581,
"delta": 0.0261,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 0.0,
"delta": -0.712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.051,
"after": 1.0,
"delta": 0.949,
"percent_delta": 18.6078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.712,
"after": 0.0,
"delta": -0.712,
"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.254 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 2.746 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.102 | - |
| predicted_H | 0.746 | - |
| predicted_HR | 0.051 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.322 | - |
| predicted_RBI | 0.237 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.712 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.264 | 0.010 |
| predicted_3B | 0.034 | 0.017 |
| predicted_AB | 2.873 | 0.127 |
| predicted_AVG | 0.276 | 0.004 |
| predicted_BB | 0.117 | 0.015 |
| predicted_H | 0.792 | 0.046 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.068 | 0.017 |
| predicted_OBP | 0.305 | 0.007 |
| predicted_R | 0.355 | 0.033 |
| predicted_RBI | 0.317 | 0.080 |
| predicted_SLG | 0.460 | 0.028 |
| predicted_SO | 0.740 | 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.264 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 2.873 | 0.000 |
| predicted_AVG | 0.273 | -0.003 |
| predicted_BB | 0.116 | -0.001 |
| predicted_H | 0.783 | -0.009 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.067 | -0.001 |
| predicted_OBP | 0.301 | -0.004 |
| predicted_R | 0.348 | -0.008 |
| predicted_RBI | 0.310 | -0.007 |
| predicted_SLG | 0.458 | -0.002 |
| predicted_SO | 0.745 | 0.005 |
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.273 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 | 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.264 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 3.000 | 0.127 |
| predicted_AVG | 0.273 | 0.000 |
| predicted_BB | 0.000 | -0.116 |
| predicted_H | 1.000 | 0.217 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.306 | 0.005 |
| predicted_R | 0.000 | -0.348 |
| predicted_RBI | 0.000 | -0.310 |
| predicted_SLG | 0.458 | -0.000 |
| predicted_SO | 1.000 | 0.255 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 2.000 | 1.000 | 1.000 | 5.000 | 3.000 | 1.000 | 5.000 | 0.3529 | 0.3889 | 0.7647 | 0.3529 | 0.0588 | 0.2941 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 3.000 | 1.000 | 1.000 | 5.000 | 4.000 | 1.000 | 7.000 | 0.2667 | 0.2903 | 0.5333 | 0.2667 | 0.0333 | 0.1667 | 0.0333 | 0.2333 |
| season | 0.60 | 59 | - | 162.000 | 44.000 | 15.000 | 1.000 | 3.000 | 14.000 | 19.000 | 6.000 | 42.000 | 0.2716 | 0.3018 | 0.4321 | 0.2716 | 0.0185 | 0.0864 | 0.0370 | 0.2593 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0590 |
| predicted_AB | 3.0600 |
| predicted_AVG | 0.2810 |
| predicted_BB | 0.1380 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3152 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.4330 |
| predicted_SLG | 0.5020 |
| predicted_SO | 0.7810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2790 | 0.2641 | model_form_blend |
| predicted_3B | 0.0170 | 0.0590 | 0.0340 | model_form_blend |
| predicted_AB | 2.7460 | 3.0600 | 2.8734 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2810 | 0.2757 | model_form_blend |
| predicted_BB | 0.1020 | 0.1380 | 0.1166 | model_form_blend |
| predicted_H | 0.7460 | 0.8600 | 0.7923 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0510 | 0.0930 | 0.0680 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3152 | 0.3050 | model_form_blend |
| predicted_R | 0.3220 | 0.4040 | 0.3553 | model_form_blend |
| predicted_RBI | 0.2370 | 0.4330 | 0.3166 | model_form_blend |
| predicted_SLG | 0.4320 | 0.5020 | 0.4604 | model_form_blend |
| predicted_SO | 0.7120 | 0.7810 | 0.7400 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 168 |
| Season rows before report date | 168 |
| Report year | 2026 |
| Profile rows used | 59 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 6 |
| 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 | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 675961 |
| playerID | 675961 |
| playerName | Alika Williams |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.321 |
| sl_xwoba | 0.247 |
| sl_xba | 0.218 |
| sl_xslg | 0.295 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 0.8 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 53.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.750 | 5.000 | 5.000 | Hitting_AB | 3.346 | 4.000 | 1.654 | 1.000 |
| predicted_AVG | 0.283 | 0.000 | 0.200 | Hitting_AVG | 0.229 | 0.250 | -0.229 | -0.250 |
| predicted_BB | 0.416 | 0.000 | 1.000 | Hitting_BB | 0.458 | 1.000 | -0.458 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 0.765 | 1.000 | -0.765 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.359 | 0.000 | 0.333 | Hitting_OBP | 0.322 | 0.400 | -0.322 | -0.400 |
| predicted_R | 0.416 | 0.000 | 0.000 | Hitting_R | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.200 | Hitting_SLG | 0.379 | 0.250 | -0.379 | -0.250 |
| predicted_SO | 0.920 | 2.000 | 1.000 | Hitting_SO | 0.944 | 2.000 | 1.056 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.7500 -> 5.0000 (boost 1.2500, better) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.9200 -> 1.0166 (boost 0.0966, worse) | predicted_AB: 3.7500 -> 3.5425 (deboost -0.2075, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4161 -> 0.4045 (deboost -0.0116, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.4762 -> 1.0000 (boost 0.5238, better) | predicted_2B: 0.1478 -> 0.0000 (deboost -0.1478, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.257 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3772 -> 0.0000 (deboost -0.3772, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_AB: 4.0000 -> 5.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_AB: 5.0000 -> 4.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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3820 -> 0.4045 (boost 0.0225, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671732",
"player_name": "Lawrence Butler",
"position": "RF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.008,
"predicted_AB": 3.75,
"predicted_AVG": 0.283,
"predicted_BB": 0.416,
"predicted_H": 1.06,
"predicted_HR": 0.12,
"predicted_OBP": 0.359,
"predicted_R": 0.416,
"predicted_RBI": 0.68,
"predicted_SLG": 0.431,
"predicted_SO": 0.92
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1478,
"predicted_3B": 0.0071,
"predicted_AB": 3.5425,
"predicted_AVG": 0.2751,
"predicted_BB": 0.4794,
"predicted_H": 0.9759,
"predicted_HBP": 0.007,
"predicted_HR": 0.1036,
"predicted_OBP": 0.3613,
"predicted_R": 0.3854,
"predicted_RBI": 0.6476,
"predicted_SLG": 0.4161,
"predicted_SO": 1.0166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1478,
"delta": 0.0198,
"percent_delta": 0.1547,
"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.75,
"after": 3.5425,
"delta": -0.2075,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2751,
"delta": -0.0079,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.4794,
"delta": 0.0634,
"percent_delta": 0.1524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9759,
"delta": -0.0841,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1036,
"delta": -0.0164,
"percent_delta": -0.1367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3613,
"delta": 0.0023,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.3854,
"delta": -0.0306,
"percent_delta": -0.0736,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6476,
"delta": -0.0324,
"percent_delta": -0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4161,
"delta": -0.0149,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0166,
"delta": 0.0966,
"percent_delta": 0.105,
"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.92,
"after": 1.0166,
"delta": 0.0966,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.5425,
"delta": -0.2075,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1478,
"predicted_3B": 0.0071,
"predicted_AB": 3.5425,
"predicted_AVG": 0.2723,
"predicted_BB": 0.4762,
"predicted_H": 0.9647,
"predicted_HBP": 0.007,
"predicted_HR": 0.1021,
"predicted_OBP": 0.3585,
"predicted_R": 0.3772,
"predicted_RBI": 0.6338,
"predicted_SLG": 0.4045,
"predicted_SO": 1.0234
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1478,
"after": 0.1478,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5425,
"after": 3.5425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2751,
"after": 0.2723,
"delta": -0.0028,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4794,
"after": 0.4762,
"delta": -0.0032,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9759,
"after": 0.9647,
"delta": -0.0112,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1036,
"after": 0.1021,
"delta": -0.0015,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3613,
"after": 0.3585,
"delta": -0.0028,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3854,
"after": 0.3772,
"delta": -0.0082,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6476,
"after": 0.6338,
"delta": -0.0138,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4161,
"after": 0.4045,
"delta": -0.0116,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0166,
"after": 1.0234,
"delta": 0.0068,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4161,
"after": 0.4045,
"delta": -0.0116,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.257 HR/AB=0.027",
"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.1478,
"after": 0.0,
"delta": -0.1478,
"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.5425,
"after": 4.0,
"delta": 0.4575,
"percent_delta": 0.1291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4762,
"after": 1.0,
"delta": 0.5238,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9647,
"after": 1.0,
"delta": 0.0353,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1021,
"after": 0.0,
"delta": -0.1021,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6338,
"after": 1.0,
"delta": 0.3662,
"percent_delta": 0.5778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0234,
"after": 1.0,
"delta": -0.0234,
"percent_delta": -0.0229,
"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.4762,
"after": 1.0,
"delta": 0.5238,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1478,
"after": 0.0,
"delta": -0.1478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3772,
"after": 0.0,
"delta": -0.3772,
"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.3772,
"after": 0.0,
"delta": -0.3772,
"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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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": 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.257,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.346,
"predicted_R": 0.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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2723,
"after": 0.257,
"delta": -0.0153,
"percent_delta": -0.0562,
"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.3585,
"after": 0.346,
"delta": -0.0125,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4045,
"after": 0.382,
"delta": -0.0225,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2723,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3585,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4045,
"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.257,
"after": 0.2723,
"delta": 0.0153,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3585,
"delta": 0.0125,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4045,
"delta": 0.0225,
"percent_delta": 0.059,
"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.382,
"after": 0.4045,
"delta": 0.0225,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 5.0,
"delta": 1.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2723,
"delta": -0.0107,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"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.359,
"after": 0.3585,
"delta": -0.0005,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4045,
"delta": -0.0265,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 5.0,
"delta": 1.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"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.128 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.283 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.416 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.920 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.020 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.542 | -0.208 |
| predicted_AVG | 0.275 | -0.008 |
| predicted_BB | 0.479 | 0.063 |
| predicted_H | 0.976 | -0.084 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.104 | -0.016 |
| predicted_OBP | 0.361 | 0.002 |
| predicted_R | 0.385 | -0.031 |
| predicted_RBI | 0.648 | -0.032 |
| predicted_SLG | 0.416 | -0.015 |
| predicted_SO | 1.017 | 0.097 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.542 | 0.000 |
| predicted_AVG | 0.272 | -0.003 |
| predicted_BB | 0.476 | -0.003 |
| predicted_H | 0.965 | -0.011 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.102 | -0.002 |
| predicted_OBP | 0.358 | -0.003 |
| predicted_R | 0.377 | -0.008 |
| predicted_RBI | 0.634 | -0.014 |
| predicted_SLG | 0.405 | -0.012 |
| predicted_SO | 1.023 | 0.007 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.257 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.148 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.458 |
| predicted_AVG | 0.257 | -0.015 |
| predicted_BB | 1.000 | 0.524 |
| predicted_H | 1.000 | 0.035 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.346 | -0.013 |
| predicted_R | 0.000 | -0.377 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.382 | -0.023 |
| 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 | 5.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 | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.000 | 4.000 | 8.000 | 0.2941 | 0.4091 | 0.3529 | 0.2941 | 0.0000 | 0.2941 | 0.2353 | 0.4706 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 3.000 | 0.000 | 1.000 | 10.000 | 4.000 | 9.000 | 15.000 | 0.3429 | 0.4667 | 0.5143 | 0.3429 | 0.0286 | 0.2857 | 0.2571 | 0.4286 |
| season | 0.60 | 125 | - | 386.000 | 89.000 | 16.000 | 1.000 | 12.000 | 47.000 | 52.000 | 52.000 | 115.000 | 0.2306 | 0.3220 | 0.3705 | 0.2306 | 0.0311 | 0.1218 | 0.1347 | 0.2979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1740 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.2690 |
| predicted_AVG | 0.2646 |
| predicted_BB | 0.5630 |
| predicted_H | 0.8650 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3644 |
| predicted_R | 0.3450 |
| predicted_RBI | 0.6050 |
| predicted_SLG | 0.3965 |
| predicted_SO | 1.1440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1740 | 0.1478 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 3.7500 | 3.2690 | 3.5425 | model_form_blend |
| predicted_AVG | 0.2830 | 0.2646 | 0.2751 | model_form_blend |
| predicted_BB | 0.4160 | 0.5630 | 0.4794 | model_form_blend |
| predicted_H | 1.0600 | 0.8650 | 0.9759 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1200 | 0.0820 | 0.1036 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3644 | 0.3613 | model_form_blend |
| predicted_R | 0.4160 | 0.3450 | 0.3854 | model_form_blend |
| predicted_RBI | 0.6800 | 0.6050 | 0.6476 | model_form_blend |
| predicted_SLG | 0.4310 | 0.3965 | 0.4161 | model_form_blend |
| predicted_SO | 0.9200 | 1.1440 | 1.0166 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 671732 |
| playerID | 671732 |
| playerName | Lawrence Butler |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.311 |
| sl_xwoba | 0.321 |
| sl_xba | 0.24 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 45.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.059 | 0.000 | 0.000 | Hitting_2B | 0.023 | 1.000 | -0.023 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.440 | 4.000 | 3.000 | Hitting_AB | 3.386 | 4.000 | 0.614 | 0.000 |
| predicted_AVG | 0.231 | 0.250 | 0.333 | Hitting_AVG | 0.201 | 0.250 | 0.049 | 0.000 |
| predicted_BB | 0.118 | 0.000 | 0.000 | Hitting_BB | 0.114 | 1.000 | -0.114 | -1.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.682 | 1.000 | 0.318 | 0.000 |
| predicted_HR | 0.260 | 1.000 | 1.000 | Hitting_HR | 0.295 | 0.000 | 0.705 | 1.000 |
| predicted_OBP | 0.274 | 0.250 | 0.333 | Hitting_OBP | 0.227 | 0.400 | 0.023 | -0.150 |
| predicted_R | 0.471 | 1.000 | 1.000 | Hitting_R | 0.432 | 1.000 | 0.568 | 0.000 |
| predicted_RBI | 0.690 | 2.000 | 1.000 | Hitting_RBI | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_SLG | 0.491 | 1.000 | 1.333 | Hitting_SLG | 0.470 | 0.500 | 0.530 | 0.500 |
| predicted_SO | 0.824 | 1.000 | 1.000 | Hitting_SO | 0.705 | 0.000 | 0.295 | 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.6900 -> 2.0000 (boost 1.3100, better) |
| Biggest Deboost | predicted_BB: 0.1180 -> 0.0000 (deboost -0.1180, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2310 -> 0.2367 (boost 0.0057, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4957 -> 0.4805 (deboost -0.0152, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.7102 -> 1.0000 (boost 0.2898, better) | predicted_AB: 3.4733 -> 3.0000 (deboost -0.4733, worse) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.235 HR/AB=0.074 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4856 -> 0.0000 (deboost -0.4856, 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 | 4 | 2 | 2 | 2 | 2 | predicted_SLG: 0.4805 -> 0.4870 (boost 0.0065, 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 | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.0000 -> 4.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.4870 -> 0.4805 (deboost -0.0065, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661531",
"player_name": "Brian Serven",
"position": "C",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.059,
"predicted_3B": 0.0,
"predicted_AB": 3.44,
"predicted_AVG": 0.231,
"predicted_BB": 0.118,
"predicted_H": 0.8,
"predicted_HR": 0.26,
"predicted_OBP": 0.274,
"predicted_R": 0.471,
"predicted_RBI": 0.69,
"predicted_SLG": 0.491,
"predicted_SO": 0.824
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0811,
"predicted_3B": 0.0018,
"predicted_AB": 3.4733,
"predicted_AVG": 0.2367,
"predicted_BB": 0.1376,
"predicted_H": 0.8259,
"predicted_HBP": 0.01,
"predicted_HR": 0.2596,
"predicted_OBP": 0.2779,
"predicted_R": 0.4962,
"predicted_RBI": 0.7257,
"predicted_SLG": 0.4957,
"predicted_SO": 0.8394
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0811,
"delta": 0.0221,
"percent_delta": 0.3746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 3.4733,
"delta": 0.0333,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2367,
"delta": 0.0057,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.118,
"after": 0.1376,
"delta": 0.0196,
"percent_delta": 0.1661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8259,
"delta": 0.0259,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2596,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2779,
"delta": 0.0039,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4962,
"delta": 0.0252,
"percent_delta": 0.0535,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.7257,
"delta": 0.0357,
"percent_delta": 0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4957,
"delta": 0.0047,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.8394,
"delta": 0.0154,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_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.231,
"after": 0.2367,
"delta": 0.0057,
"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": 17
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0811,
"predicted_3B": 0.0018,
"predicted_AB": 3.4733,
"predicted_AVG": 0.2351,
"predicted_BB": 0.1367,
"predicted_H": 0.8164,
"predicted_HBP": 0.01,
"predicted_HR": 0.2559,
"predicted_OBP": 0.264,
"predicted_R": 0.4856,
"predicted_RBI": 0.7102,
"predicted_SLG": 0.4805,
"predicted_SO": 0.845
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0811,
"after": 0.0811,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4733,
"after": 3.4733,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.2351,
"delta": -0.0016,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1376,
"after": 0.1367,
"delta": -0.0009,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8259,
"after": 0.8164,
"delta": -0.0095,
"percent_delta": -0.0115,
"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.2596,
"after": 0.2559,
"delta": -0.0037,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2779,
"after": 0.264,
"delta": -0.0139,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4962,
"after": 0.4856,
"delta": -0.0106,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7257,
"after": 0.7102,
"delta": -0.0155,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4957,
"after": 0.4805,
"delta": -0.0152,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8394,
"after": 0.845,
"delta": 0.0056,
"percent_delta": 0.0067,
"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.4957,
"after": 0.4805,
"delta": -0.0152,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.235 HR/AB=0.074",
"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.0811,
"after": 0.0,
"delta": -0.0811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4733,
"after": 3.0,
"delta": -0.4733,
"percent_delta": -0.1363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1367,
"after": 0.0,
"delta": -0.1367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8164,
"after": 1.0,
"delta": 0.1836,
"percent_delta": 0.2249,
"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.2559,
"after": 0.0,
"delta": -0.2559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7102,
"after": 1.0,
"delta": 0.2898,
"percent_delta": 0.4081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 1.0,
"delta": 0.155,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7102,
"after": 1.0,
"delta": 0.2898,
"percent_delta": 0.4081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4733,
"after": 3.0,
"delta": -0.4733,
"percent_delta": -0.1363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4856,
"after": 0.0,
"delta": -0.4856,
"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.4856,
"after": 0.0,
"delta": -0.4856,
"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": 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": 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": 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": 3.0,
"predicted_AVG": 0.235,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.487,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2351,
"after": 0.235,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.27,
"delta": 0.006,
"percent_delta": 0.0227,
"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.4805,
"after": 0.487,
"delta": 0.0065,
"percent_delta": 0.0135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.4805,
"after": 0.487,
"delta": 0.0065,
"percent_delta": 0.0135,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 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.2351,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.264,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4805,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2351,
"delta": 0.0001,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.27,
"after": 0.264,
"delta": -0.006,
"percent_delta": -0.0222,
"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.487,
"after": 0.4805,
"delta": -0.0065,
"percent_delta": -0.0134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.487,
"after": 0.4805,
"delta": -0.0065,
"percent_delta": -0.0134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.44,
"after": 4.0,
"delta": 0.56,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2351,
"delta": 0.0041,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.264,
"delta": -0.01,
"percent_delta": -0.0365,
"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.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4805,
"delta": -0.0105,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 1.0,
"delta": 0.176,
"percent_delta": 0.2136,
"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.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"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.059 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.440 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.118 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.491 | - |
| predicted_SO | 0.824 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.473 | 0.033 |
| predicted_AVG | 0.237 | 0.006 |
| predicted_BB | 0.138 | 0.020 |
| predicted_H | 0.826 | 0.026 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.260 | -0.000 |
| predicted_OBP | 0.278 | 0.004 |
| predicted_R | 0.496 | 0.025 |
| predicted_RBI | 0.726 | 0.036 |
| predicted_SLG | 0.496 | 0.005 |
| predicted_SO | 0.839 | 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.081 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.473 | 0.000 |
| predicted_AVG | 0.235 | -0.002 |
| predicted_BB | 0.137 | -0.001 |
| predicted_H | 0.816 | -0.009 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.256 | -0.004 |
| predicted_OBP | 0.264 | -0.014 |
| predicted_R | 0.486 | -0.011 |
| predicted_RBI | 0.710 | -0.015 |
| predicted_SLG | 0.480 | -0.015 |
| predicted_SO | 0.845 | 0.006 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.235 HR/AB=0.074
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.081 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.473 |
| predicted_AVG | 0.235 | -0.000 |
| predicted_BB | 0.000 | -0.137 |
| predicted_H | 1.000 | 0.184 |
| predicted_HR | 0.000 | -0.256 |
| predicted_OBP | 0.270 | 0.006 |
| predicted_R | 0.000 | -0.486 |
| predicted_RBI | 1.000 | 0.290 |
| predicted_SLG | 0.487 | 0.007 |
| predicted_SO | 1.000 | 0.155 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 2.000 | 6.000 | 4.000 | 1.000 | 5.000 | 0.2941 | 0.3333 | 0.7059 | 0.2941 | 0.1177 | 0.3529 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 0.000 | 3.000 | 10.000 | 6.000 | 1.000 | 9.000 | 0.2432 | 0.2632 | 0.5135 | 0.2432 | 0.0811 | 0.2703 | 0.0270 | 0.2432 |
| season | 0.60 | 17 | - | 56.000 | 13.000 | 1.000 | 0.000 | 5.000 | 14.000 | 8.000 | 2.000 | 14.000 | 0.2321 | 0.2586 | 0.5179 | 0.2321 | 0.0893 | 0.2500 | 0.0357 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5350 |
| predicted_AVG | 0.2472 |
| predicted_BB | 0.1740 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2590 |
| predicted_OBP | 0.2851 |
| predicted_R | 0.5430 |
| predicted_RBI | 0.7920 |
| predicted_SLG | 0.5044 |
| predicted_SO | 0.8680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0590 | 0.1220 | 0.0811 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0018 | model_form_blend |
| predicted_AB | 3.4400 | 3.5350 | 3.4733 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2472 | 0.2367 | model_form_blend |
| predicted_BB | 0.1180 | 0.1740 | 0.1376 | model_form_blend |
| predicted_H | 0.8000 | 0.8740 | 0.8259 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.2600 | 0.2590 | 0.2596 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2851 | 0.2779 | model_form_blend |
| predicted_R | 0.4710 | 0.5430 | 0.4962 | model_form_blend |
| predicted_RBI | 0.6900 | 0.7920 | 0.7257 | model_form_blend |
| predicted_SLG | 0.4910 | 0.5044 | 0.4957 | model_form_blend |
| predicted_SO | 0.8240 | 0.8680 | 0.8394 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 661531 |
| playerID | 661531 |
| playerName | Brian Serven |
| pos | C |
| started | True |
| startingPosition | C |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.33 |
| sl_xwoba | 0.317 |
| sl_xba | 0.253 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.667 | 2.000 | 3.000 | Hitting_AB | 2.545 | 5.000 | -0.545 | -3.000 |
| predicted_AVG | 0.340 | 0.500 | 0.333 | Hitting_AVG | 0.429 | 0.200 | 0.071 | 0.300 |
| predicted_BB | 0.333 | 2.000 | 1.000 | Hitting_BB | 0.182 | 0.000 | 1.818 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 1.000 | 1.000 | Hitting_H | 1.091 | 1.000 | -0.091 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.351 | 0.750 | 0.500 | Hitting_OBP | 0.467 | 0.200 | 0.283 | 0.550 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.456 | 0.500 | 0.333 | Hitting_SLG | 0.464 | 0.200 | 0.036 | 0.300 |
| predicted_SO | 0.500 | 0.000 | 1.000 | Hitting_SO | 0.545 | 1.000 | -0.545 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3330 -> 2.0000 (boost 1.6670, better) |
| Biggest Deboost | predicted_AB: 2.6670 -> 2.0000 (deboost -0.6670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.6670 -> 2.8345 (boost 0.1675, better) | predicted_AVG: 0.3400 -> 0.3247 (deboost -0.0153, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3515 -> 0.3703 (boost 0.0188, better) | predicted_AVG: 0.3247 -> 0.2963 (deboost -0.0284, 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.5489 -> 1.0000 (boost 0.4511, worse) | predicted_RBI: 0.3923 -> 0.0000 (deboost -0.3923, worse) | AB rounded to 3 (raw=2.83), rates preserved: AVG=0.296 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3387 -> 0.0000 (deboost -0.3387, worse) | 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 | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4174 -> 0.4240 (boost 0.0066, better) | 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 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4240 -> 0.4174 (deboost -0.0066, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683021",
"player_name": "Michael Stefanic",
"position": "2B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 2.667,
"predicted_AVG": 0.34,
"predicted_BB": 0.333,
"predicted_H": 0.82,
"predicted_HR": 0.05,
"predicted_OBP": 0.351,
"predicted_R": 0.333,
"predicted_RBI": 0.38,
"predicted_SLG": 0.456,
"predicted_SO": 0.5
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1747,
"predicted_3B": 0.0021,
"predicted_AB": 2.8345,
"predicted_AVG": 0.3247,
"predicted_BB": 0.3351,
"predicted_H": 0.8497,
"predicted_HBP": 0.018,
"predicted_HR": 0.0556,
"predicted_OBP": 0.3515,
"predicted_R": 0.3461,
"predicted_RBI": 0.4008,
"predicted_SLG": 0.4443,
"predicted_SO": 0.5452
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1747,
"delta": 0.0077,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0021,
"delta": 0.0021,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.667,
"after": 2.8345,
"delta": 0.1675,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.34,
"after": 0.3247,
"delta": -0.0153,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3351,
"delta": 0.0021,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8497,
"delta": 0.0297,
"percent_delta": 0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0556,
"delta": 0.0056,
"percent_delta": 0.112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3515,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3461,
"delta": 0.0131,
"percent_delta": 0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.4008,
"delta": 0.0208,
"percent_delta": 0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4443,
"delta": -0.0117,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5452,
"delta": 0.0452,
"percent_delta": 0.0904,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.667,
"after": 2.8345,
"delta": 0.1675,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.34,
"after": 0.3247,
"delta": -0.0153,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1747,
"predicted_3B": 0.0021,
"predicted_AB": 2.8345,
"predicted_AVG": 0.2963,
"predicted_BB": 0.3329,
"predicted_H": 0.8399,
"predicted_HBP": 0.018,
"predicted_HR": 0.0548,
"predicted_OBP": 0.3703,
"predicted_R": 0.3387,
"predicted_RBI": 0.3923,
"predicted_SLG": 0.4174,
"predicted_SO": 0.5489
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1747,
"after": 0.1747,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0021,
"after": 0.0021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8345,
"after": 2.8345,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3247,
"after": 0.2963,
"delta": -0.0284,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3351,
"after": 0.3329,
"delta": -0.0022,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8497,
"after": 0.8399,
"delta": -0.0098,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0556,
"after": 0.0548,
"delta": -0.0008,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.3703,
"delta": 0.0188,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3461,
"after": 0.3387,
"delta": -0.0074,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4008,
"after": 0.3923,
"delta": -0.0085,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4443,
"after": 0.4174,
"delta": -0.0269,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5452,
"after": 0.5489,
"delta": 0.0037,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_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.3515,
"after": 0.3703,
"delta": 0.0188,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3247,
"after": 0.2963,
"delta": -0.0284,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.296 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1747,
"after": 0.0,
"delta": -0.1747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0021,
"after": 0.0,
"delta": -0.0021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8345,
"after": 3.0,
"delta": 0.1655,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3329,
"after": 0.0,
"delta": -0.3329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8399,
"after": 1.0,
"delta": 0.1601,
"percent_delta": 0.1906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0548,
"after": 0.0,
"delta": -0.0548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3923,
"after": 0.0,
"delta": -0.3923,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5489,
"after": 1.0,
"delta": 0.4511,
"percent_delta": 0.8218,
"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.5489,
"after": 1.0,
"delta": 0.4511,
"percent_delta": 0.8218,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3923,
"after": 0.0,
"delta": -0.3923,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3387,
"after": 0.0,
"delta": -0.3387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3387,
"after": 0.0,
"delta": -0.3387,
"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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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_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.296,
"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.424,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2963,
"after": 0.296,
"delta": -0.0003,
"percent_delta": -0.001,
"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": 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.4174,
"after": 0.424,
"delta": 0.0066,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4174,
"after": 0.424,
"delta": 0.0066,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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.2963,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3703,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4174,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.296,
"after": 0.2963,
"delta": 0.0003,
"percent_delta": 0.0011,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.0126,
"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.424,
"after": 0.4174,
"delta": -0.0066,
"percent_delta": -0.0155,
"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.424,
"after": 0.4174,
"delta": -0.0066,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.667,
"after": 2.0,
"delta": -0.667,
"percent_delta": -0.2501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.34,
"after": 0.2963,
"delta": -0.0437,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 2.0,
"delta": 1.667,
"percent_delta": 5.006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3703,
"delta": 0.0193,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"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.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4174,
"delta": -0.0386,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 2.0,
"delta": 1.667,
"percent_delta": 5.006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.667,
"after": 2.0,
"delta": -0.667,
"percent_delta": -0.2501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.667 | - |
| predicted_AVG | 0.340 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.500 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.008 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.834 | 0.167 |
| predicted_AVG | 0.325 | -0.015 |
| predicted_BB | 0.335 | 0.002 |
| predicted_H | 0.850 | 0.030 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.056 | 0.006 |
| predicted_OBP | 0.351 | 0.001 |
| predicted_R | 0.346 | 0.013 |
| predicted_RBI | 0.401 | 0.021 |
| predicted_SLG | 0.444 | -0.012 |
| predicted_SO | 0.545 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.834 | 0.000 |
| predicted_AVG | 0.296 | -0.028 |
| predicted_BB | 0.333 | -0.002 |
| predicted_H | 0.840 | -0.010 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.055 | -0.001 |
| predicted_OBP | 0.370 | 0.019 |
| predicted_R | 0.339 | -0.007 |
| predicted_RBI | 0.392 | -0.009 |
| predicted_SLG | 0.417 | -0.027 |
| predicted_SO | 0.549 | 0.004 |
AB rounded to 3 (raw=2.83), rates preserved: AVG=0.296 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.175 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.166 |
| predicted_AVG | 0.296 | -0.000 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | 0.160 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.375 | 0.005 |
| predicted_R | 0.000 | -0.339 |
| predicted_RBI | 0.000 | -0.392 |
| predicted_SLG | 0.424 | 0.007 |
| predicted_SO | 1.000 | 0.451 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 2.000 | 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 | - | 12.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 2.000 | 0.3333 | 0.4286 | 0.4167 | 0.3333 | 0.0000 | 0.1667 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 6 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.3750 | 0.4444 | 0.4375 | 0.3750 | 0.0000 | 0.1250 | 0.1250 | 0.1875 |
| season | 0.60 | 6 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.3750 | 0.4444 | 0.4375 | 0.3750 | 0.0000 | 0.1250 | 0.1250 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.2940 |
| predicted_AVG | 0.2826 |
| predicted_BB | 0.3410 |
| predicted_H | 0.9310 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.3527 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.4580 |
| predicted_SLG | 0.4122 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1960 | 0.1747 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0021 | model_form_blend |
| predicted_AB | 2.6670 | 3.2940 | 2.8345 | model_form_blend |
| predicted_AVG | 0.3400 | 0.2826 | 0.3247 | model_form_blend |
| predicted_BB | 0.3330 | 0.3410 | 0.3351 | model_form_blend |
| predicted_H | 0.8200 | 0.9310 | 0.8497 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0500 | 0.0710 | 0.0556 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3527 | 0.3515 | model_form_blend |
| predicted_R | 0.3330 | 0.3820 | 0.3461 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4580 | 0.4008 | model_form_blend |
| predicted_SLG | 0.4560 | 0.4122 | 0.4443 | model_form_blend |
| predicted_SO | 0.5000 | 0.6690 | 0.5452 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| 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 | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 683021 |
| playerID | 683021 |
| playerName | Michael Stefanic |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.395 |
| sl_xwoba | 0.358 |
| sl_xba | 0.321 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 3.3 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 44.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.127 | 1.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | 0.838 | 1.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 3.230 | 3.000 | 3.000 | Hitting_AB | 3.456 | 4.000 | -0.456 | -1.000 |
| predicted_AVG | 0.165 | 0.333 | 0.333 | Hitting_AVG | 0.228 | 0.000 | 0.105 | 0.333 |
| predicted_BB | 0.282 | 1.000 | 0.000 | Hitting_BB | 0.289 | 1.000 | 0.711 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.530 | 1.000 | 1.000 | Hitting_H | 0.789 | 0.000 | 0.211 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.263 | 0.500 | 0.333 | Hitting_OBP | 0.296 | 0.200 | 0.204 | 0.300 |
| predicted_R | 0.394 | 0.000 | 0.000 | Hitting_R | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_SLG | 0.303 | 0.667 | 0.333 | Hitting_SLG | 0.388 | 0.000 | 0.278 | 0.667 |
| predicted_SO | 1.141 | 2.000 | 1.000 | Hitting_SO | 1.232 | 0.000 | 0.768 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1270 -> 1.0000 (boost 0.8730, better) |
| Biggest Deboost | predicted_R: 0.3940 -> 0.0000 (deboost -0.3940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 5 | 0 | predicted_H: 0.5300 -> 0.5907 (boost 0.0607, better) | predicted_SO: 1.1410 -> 1.0782 (deboost -0.0628, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2737 -> 0.2507 (deboost -0.0230, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.5839 -> 1.0000 (boost 0.4161, better) | predicted_BB: 0.2980 -> 0.0000 (deboost -0.2980, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.181 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3450 -> 0.0000 (deboost -0.3450, 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.2507 -> 0.2560 (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_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.2560 -> 0.2507 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691777",
"player_name": "Max Muncy",
"position": "3B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.127,
"predicted_3B": 0.028,
"predicted_AB": 3.23,
"predicted_AVG": 0.165,
"predicted_BB": 0.282,
"predicted_H": 0.53,
"predicted_HR": 0.08,
"predicted_OBP": 0.263,
"predicted_R": 0.394,
"predicted_RBI": 0.21,
"predicted_SLG": 0.303,
"predicted_SO": 1.141
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1094,
"predicted_3B": 0.0234,
"predicted_AB": 3.2195,
"predicted_AVG": 0.1841,
"predicted_BB": 0.3,
"predicted_H": 0.5907,
"predicted_HBP": 0.034,
"predicted_HR": 0.0813,
"predicted_OBP": 0.2737,
"predicted_R": 0.3525,
"predicted_RBI": 0.228,
"predicted_SLG": 0.3125,
"predicted_SO": 1.0782
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.1094,
"delta": -0.0176,
"percent_delta": -0.1386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0234,
"delta": -0.0046,
"percent_delta": -0.1643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.23,
"after": 3.2195,
"delta": -0.0105,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.165,
"after": 0.1841,
"delta": 0.0191,
"percent_delta": 0.1158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.3,
"delta": 0.018,
"percent_delta": 0.0638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.5907,
"delta": 0.0607,
"percent_delta": 0.1145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0813,
"delta": 0.0013,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2737,
"delta": 0.0107,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.3525,
"delta": -0.0415,
"percent_delta": -0.1053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.228,
"delta": 0.018,
"percent_delta": 0.0857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3125,
"delta": 0.0095,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.141,
"after": 1.0782,
"delta": -0.0628,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.53,
"after": 0.5907,
"delta": 0.0607,
"percent_delta": 0.1145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.141,
"after": 1.0782,
"delta": -0.0628,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1094,
"predicted_3B": 0.0234,
"predicted_AB": 3.2195,
"predicted_AVG": 0.1814,
"predicted_BB": 0.298,
"predicted_H": 0.5839,
"predicted_HBP": 0.034,
"predicted_HR": 0.0801,
"predicted_OBP": 0.2507,
"predicted_R": 0.345,
"predicted_RBI": 0.2231,
"predicted_SLG": 0.3046,
"predicted_SO": 1.0854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1094,
"after": 0.1094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0234,
"after": 0.0234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2195,
"after": 3.2195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1841,
"after": 0.1814,
"delta": -0.0027,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.298,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5907,
"after": 0.5839,
"delta": -0.0068,
"percent_delta": -0.0115,
"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.0813,
"after": 0.0801,
"delta": -0.0012,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2737,
"after": 0.2507,
"delta": -0.023,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3525,
"after": 0.345,
"delta": -0.0075,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.228,
"after": 0.2231,
"delta": -0.0049,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3125,
"after": 0.3046,
"delta": -0.0079,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0782,
"after": 1.0854,
"delta": 0.0072,
"percent_delta": 0.0067,
"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.2737,
"after": 0.2507,
"delta": -0.023,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.23), rates preserved: AVG=0.181 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1094,
"after": 0.0,
"delta": -0.1094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0234,
"after": 0.0,
"delta": -0.0234,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2195,
"after": 3.0,
"delta": -0.2195,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5839,
"after": 1.0,
"delta": 0.4161,
"percent_delta": 0.7126,
"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.0801,
"after": 0.0,
"delta": -0.0801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2231,
"after": 0.0,
"delta": -0.2231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0854,
"after": 1.0,
"delta": -0.0854,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5839,
"after": 1.0,
"delta": 0.4161,
"percent_delta": 0.7126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"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.181,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.256,
"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.1814,
"after": 0.181,
"delta": -0.0004,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2507,
"after": 0.256,
"delta": 0.0053,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3046,
"after": 0.304,
"delta": -0.0006,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2507,
"after": 0.256,
"delta": 0.0053,
"percent_delta": 0.0211,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1814,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2507,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3046,
"predicted_SO": 2.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.181,
"after": 0.1814,
"delta": 0.0004,
"percent_delta": 0.002,
"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.256,
"after": 0.2507,
"delta": -0.0053,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3046,
"delta": 0.0006,
"percent_delta": 0.0018,
"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.256,
"after": 0.2507,
"delta": -0.0053,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 1.0,
"delta": 0.873,
"percent_delta": 6.874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.23,
"after": 3.0,
"delta": -0.23,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.165,
"after": 0.1814,
"delta": 0.0164,
"percent_delta": 0.0994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 1.0,
"delta": 0.718,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"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.263,
"after": 0.2507,
"delta": -0.0123,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3046,
"delta": 0.0016,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.141,
"after": 2.0,
"delta": 0.859,
"percent_delta": 0.7528,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.127,
"after": 1.0,
"delta": 0.873,
"percent_delta": 6.874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.127 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.230 | - |
| predicted_AVG | 0.165 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.530 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.394 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.303 | - |
| predicted_SO | 1.141 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | -0.018 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.220 | -0.010 |
| predicted_AVG | 0.184 | 0.019 |
| predicted_BB | 0.300 | 0.018 |
| predicted_H | 0.591 | 0.061 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.081 | 0.001 |
| predicted_OBP | 0.274 | 0.011 |
| predicted_R | 0.352 | -0.042 |
| predicted_RBI | 0.228 | 0.018 |
| predicted_SLG | 0.312 | 0.010 |
| predicted_SO | 1.078 | -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.109 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.220 | 0.000 |
| predicted_AVG | 0.181 | -0.003 |
| predicted_BB | 0.298 | -0.002 |
| predicted_H | 0.584 | -0.007 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.080 | -0.001 |
| predicted_OBP | 0.251 | -0.023 |
| predicted_R | 0.345 | -0.008 |
| predicted_RBI | 0.223 | -0.005 |
| predicted_SLG | 0.305 | -0.008 |
| predicted_SO | 1.085 | 0.007 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.181 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.109 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.220 |
| predicted_AVG | 0.181 | -0.000 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.416 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.256 | 0.005 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.223 |
| predicted_SLG | 0.304 | -0.001 |
| predicted_SO | 1.000 | -0.085 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.2000 | 0.2941 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 10.000 | 0.1875 | 0.2778 | 0.2812 | 0.1875 | 0.0312 | 0.0312 | 0.1250 | 0.3125 |
| season | 0.60 | 71 | - | 224.000 | 48.000 | 9.000 | 2.000 | 7.000 | 25.000 | 28.000 | 20.000 | 81.000 | 0.2143 | 0.2869 | 0.3661 | 0.2143 | 0.0312 | 0.1116 | 0.0893 | 0.3616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.2050 |
| predicted_AVG | 0.2106 |
| predicted_BB | 0.3250 |
| predicted_H | 0.6750 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2886 |
| predicted_R | 0.2950 |
| predicted_RBI | 0.2530 |
| predicted_SLG | 0.3257 |
| predicted_SO | 0.9910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1270 | 0.0850 | 0.1094 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0234 | model_form_blend |
| predicted_AB | 3.2300 | 3.2050 | 3.2195 | model_form_blend |
| predicted_AVG | 0.1650 | 0.2106 | 0.1841 | model_form_blend |
| predicted_BB | 0.2820 | 0.3250 | 0.3000 | model_form_blend |
| predicted_H | 0.5300 | 0.6750 | 0.5907 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.0800 | 0.0830 | 0.0813 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2886 | 0.2737 | model_form_blend |
| predicted_R | 0.3940 | 0.2950 | 0.3525 | model_form_blend |
| predicted_RBI | 0.2100 | 0.2530 | 0.2280 | model_form_blend |
| predicted_SLG | 0.3030 | 0.3257 | 0.3125 | model_form_blend |
| predicted_SO | 1.1410 | 0.9910 | 1.0782 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 228 |
| Season rows before report date | 228 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 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 | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260901_OAK@TEX |
| game_type | full |
| mlbID | 691777 |
| playerID | 691777 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-01 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.289 |
| sl_xwoba | 0.285 |
| sl_xba | 0.213 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 32.9 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.312 | 4.000 | -0.312 | -3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.125 | 1.000 | 0.875 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.125 | 4.000 | 1.875 | 1.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 2.819 | 5.000 | 1.181 | -1.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 3.406 | 5.000 | -1.406 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | starter_quality_floor | 2 | 2 | 0 | 0 | 2 | predicted_ER: 2.0000 -> 3.0000 (boost 1.0000, worse) | - | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "678022",
"player_name": "Jack Perkins",
"position": "Starter",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 4.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 4.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 4.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 4.0,
"predicted_R": 3.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 2.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 4.000 | -0.667 |
| predicted_SO | 2.000 | 0.000 |
Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | 1.000 |
| predicted_H | 5.000 | 1.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 4.000 | 0.000 |
| predicted_SO | 2.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 21.200 | 13.000 | 25.000 | 14.000 | 20.000 | 4.000 | 5.4000 | 1.8000 | 0.6000 | 1.1539 | 0.6462 | 0.9231 | 0.1846 |
| last_10 | 0.35 | 10 | 44.100 | 34.000 | 49.000 | 25.000 | 47.000 | 12.000 | 6.9023 | 1.6692 | 0.7669 | 1.1053 | 0.5639 | 1.0601 | 0.2707 |
| season | 0.20 | 32 | 95.100 | 68.000 | 100.000 | 42.000 | 109.000 | 18.000 | 6.4196 | 1.4895 | 0.7133 | 1.0490 | 0.4406 | 1.1434 | 0.1888 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2370 |
| predicted_ER | 2.6950 |
| predicted_ERA | 5.7880 |
| predicted_H | 4.5520 |
| predicted_HR | 0.8440 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.1880 |
| predicted_WHIP | 1.6200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 2.2370 | 1.6959 | model_form_blend |
| predicted_ER | 2.0000 | 2.6950 | 2.3910 | model_form_blend |
| predicted_ERA | - | 5.7880 | 5.7880 | form_only |
| predicted_H | 4.0000 | 4.5520 | 4.3105 | model_form_blend |
| predicted_HR | 2.0000 | 0.8440 | 1.3497 | model_form_blend |
| predicted_IP | 4.2000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 2.0000 | 4.1880 | 3.2309 | model_form_blend |
| predicted_WHIP | - | 1.6200 | 1.6200 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 2 |
| HR | 2 |
| BF | 19 |
| Pitches | 69 |
| 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 | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.42 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 3 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 80 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_BAL@OAK |
| game_type | full |
| mlbID | 678022 |
| playerID | 678022 |
| playerName | Jack Perkins |
| pos | P |
| started | True |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-08-29 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.356 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 78.829518741 |
| sl_avg_hyper_speed | 93.555762045 |
| 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.587 | 0.000 | 0.413 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.365 | 0.000 | 2.635 | 3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.825 | 0.000 | 2.175 | 3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.771 | 1.000 | 0.229 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.254 | 2.000 | -1.254 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 1 | 0 | - | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663687",
"player_name": "Hogan Harris",
"position": "Setup Man",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 3.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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 3.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 | 0.000 | 1.000 | 2.000 | 7.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.2143 | 0.4286 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 8.000 | 5.000 | 12.000 | 0.000 | 2.7931 | 1.3448 | 0.3103 | 0.8276 | 0.5172 | 1.2414 | 0.0000 |
| season | 0.20 | 63 | 59.100 | 23.000 | 52.000 | 37.000 | 79.000 | 6.000 | 3.4888 | 1.5000 | 0.3876 | 0.8764 | 0.6236 | 1.3315 | 0.1011 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4610 |
| predicted_ER | 0.2780 |
| predicted_ERA | 2.5033 |
| predicted_H | 0.6830 |
| predicted_HR | 0.0580 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2470 |
| predicted_WHIP | 1.1438 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4610 | 0.7169 | model_form_blend |
| predicted_ER | 4.0000 | 0.2780 | 2.0452 | model_form_blend |
| predicted_ERA | - | 2.5033 | 2.5033 | form_only |
| predicted_H | 3.0000 | 0.6830 | 1.7831 | model_form_blend |
| predicted_HR | 1.0000 | 0.0580 | 0.5053 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2470 | 0.6549 | model_form_blend |
| predicted_WHIP | - | 1.1438 | 1.1438 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 63 |
| Season rows before report date | 63 |
| Report year | 2026 |
| Profile rows used | 63 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 0 |
| HR | 1 |
| BF | 7 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.49 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 663687 |
| playerID | 663687 |
| playerName | Hogan Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-02 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.316 |
| sl_xwoba | 0.293 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 32.7 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 43.3 |
| sl_avg_best_speed | 76.623883699 |
| sl_avg_hyper_speed | 93.086372414 |
| 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.653 | 0.000 | -0.653 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.510 | 1.000 | -0.510 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.204 | 2.000 | -1.204 | -2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.182 | 1.000 | 0.018 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.571 | 1.000 | -1.571 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "665622",
"player_name": "Luis Medina",
"position": "Middle Reliever (High Leverage)",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 3.000 | 1.000 | 8.000 | 0.000 | 1.8000 | 0.8000 | 0.2000 | 0.6000 | 0.2000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 7.000 | 6.000 | 15.000 | 1.000 | 2.5312 | 1.2188 | 0.2812 | 0.6562 | 0.5625 | 1.4062 | 0.0938 |
| season | 0.20 | 47 | 62.100 | 23.000 | 54.000 | 31.000 | 77.000 | 7.000 | 3.3209 | 1.3636 | 0.3690 | 0.8663 | 0.4973 | 1.2353 | 0.1123 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4000 |
| predicted_ER | 0.3450 |
| predicted_ERA | 2.9642 |
| predicted_H | 0.7950 |
| predicted_HR | 0.0850 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3730 |
| predicted_WHIP | 1.1404 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4000 | 0.2118 | model_form_blend |
| predicted_ER | 0.0000 | 0.3450 | 0.1827 | model_form_blend |
| predicted_ERA | - | 2.9642 | 2.9642 | form_only |
| predicted_H | 0.0000 | 0.7950 | 0.4210 | model_form_blend |
| predicted_HR | 0.0000 | 0.0850 | 0.0450 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3730 | 0.7270 | model_form_blend |
| predicted_WHIP | - | 1.1404 | 1.1404 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 47 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.61 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260901_OAK@TEX |
| game_type | full |
| mlbID | 665622 |
| playerID | 665622 |
| playerName | Luis Medina |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-09-01 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.327 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 31.1 |
| sl_swing_percent | 44.3 |
| sl_avg_best_speed | 80.080905897 |
| sl_avg_hyper_speed | 94.213870321 |
| 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.467 | 1.000 | 1.533 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.711 | 0.000 | -0.711 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.860 | 1.000 | 0.240 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.200 | 1.000 | -0.200 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 2 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "665660",
"player_name": "Elvis Alvarado",
"position": "Closer",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 2.000 | 6.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.4000 | 0.4000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 5.000 | 4.000 | 9.000 | 1.000 | 2.0769 | 1.0385 | 0.2308 | 0.5769 | 0.4615 | 1.0385 | 0.1154 |
| season | 0.20 | 45 | 45.000 | 20.000 | 32.000 | 21.000 | 54.000 | 8.000 | 4.0000 | 1.1778 | 0.4444 | 0.7111 | 0.4667 | 1.2000 | 0.1778 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3140 |
| predicted_ER | 0.2180 |
| predicted_ERA | 2.5776 |
| predicted_H | 0.5220 |
| predicted_HR | 0.0770 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8170 |
| predicted_WHIP | 1.0959 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3140 | 1.1577 | model_form_blend |
| predicted_ER | 0.0000 | 0.2180 | 0.1089 | model_form_blend |
| predicted_ERA | - | 2.5776 | 2.5776 | form_only |
| predicted_H | 1.0000 | 0.5220 | 0.7612 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0385 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8170 | 0.9086 | model_form_blend |
| predicted_WHIP | - | 1.0959 | 1.0959 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 45 |
| 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 | 2 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260829_BAL@OAK |
| game_type | full |
| mlbID | 665660 |
| playerID | 665660 |
| playerName | Elvis Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-08-29 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.313 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 49.1 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 51.8 |
| sl_avg_best_speed | 79.652166981 |
| sl_avg_hyper_speed | 95.252268 |
| Field | Value |
|---|---|
| Pitcher | Kade Anderson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2678 |
| ESPN Rank | 374 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.1000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 4.5000 |
| Season WHIP | 1.3000 |
| Role Avg IP | 5 |
| Recent Avg IP | 5 |
| Last Start IP | 4.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"opponent": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"edges": {
"quality_edge": 0.1856,
"offense_edge": -0.118,
"opponent_offense_edge": -0.029,
"defense_strength": 0.015,
"opponent_defense_weakness": 0.2183,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9846,
"strikeout": 1.0079
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "807739",
"profile": {
"available": true,
"pitcher_id": "807739",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 19.5,
"bb_percent": 12.2,
"woba": 0.334,
"xwoba": 0.235,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 32.1,
"avg_best_speed": 76.6179,
"avg_hyper_speed": 91.7814,
"whiff_percent": 22.4,
"swing_percent": 51.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9141,
"command_and_miss": -0.4493,
"regression_edge": 2.0,
"xwoba_edge": 2.1714,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.8143,
"whiff_edge": -0.4,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "807739",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2678,
"sample_weight": 0.45,
"run_prevention_factor": 0.9772,
"strikeout_factor": 0.9866,
"walk_factor": 1.0279,
"homer_factor": 0.9544,
"woba_minus_xwoba": 0.099,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "807739",
"espn_id": 5198748,
"player_name": "Kade Anderson",
"team": "SEA",
"role": "pitcher",
"espn_rank": 374,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 374,
"gp_value": 2.0,
"gp_rank": 741,
"gs_value": 2.0,
"gs_rank": 270,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 0.0,
"l_rank": 569,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 10.0,
"ip_rank": 603,
"h_value": 8.0,
"h_rank": 650,
"er_value": 5.0,
"er_rank": 640,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 5.0,
"bb_rank": 609,
"k_value": 8.0,
"k_rank": 613,
"k_per_9_value": 7.2,
"k_per_9_rank": 27,
"whip_value": 1.3,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9897,
"adjusted": 2
},
"predicted_H": {
"original": 3.0,
"factor": 0.9897,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0126,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9795,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.994,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 10.0,
"ER": 5,
"H": 8,
"BB": 5,
"SO": 8,
"HR": 2,
"ERA": 4.5,
"WHIP": 1.3,
"K9": 7.2,
"HR9": 1.8,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": false,
"pitcher_id": "807739",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2857,
"prior_weight": 0.7143
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "807739",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 5.0,
"SO": 8.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5,
"R": 2.5,
"H": 4.0,
"BB": 2.5,
"SO": 4.0,
"HR": 1.0,
"BF": 20.5,
"Pitches": 83.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3,
"ER_per_IP": 0.5,
"H_per_IP": 0.8,
"BB_per_IP": 0.5,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 5.0,
"SO": 8.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5,
"R": 2.5,
"H": 4.0,
"BB": 2.5,
"SO": 4.0,
"HR": 1.0,
"BF": 20.5,
"Pitches": 83.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3,
"ER_per_IP": 0.5,
"H_per_IP": 0.8,
"BB_per_IP": 0.5,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"season": {
"games": 2,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 5.0,
"SO": 8.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5,
"R": 2.5,
"H": 4.0,
"BB": 2.5,
"SO": 4.0,
"HR": 1.0,
"BF": 20.5,
"Pitches": 83.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3,
"ER_per_IP": 0.5,
"H_per_IP": 0.8,
"BB_per_IP": 0.5,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.254,
"predicted_H": 4.178,
"predicted_BB": 1.844,
"predicted_SO": 4.068,
"predicted_HR": 0.732,
"predicted_ERA": 4.4844,
"predicted_WHIP": 1.3311
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6518,
"form_weight": 0.3482,
"form_reliability": 0.2857,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2857,
"prior_weight": 0.7143
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 4.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.254,
"final": 2.7402,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.178,
"final": 4.7138,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.844,
"final": 0.6421,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.068,
"final": 4.0237,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.732,
"final": 1.5585,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4844,
"final": 4.4844,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3311,
"final": 1.3311,
"source": "form_only"
}
}
}{
"available": false,
"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.5631 |
| ESPN Rank | 468 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1897 |
| Avg Velo | 93.2550 |
| Avg Spin | 2312.8504 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.9338 |
| Season WHIP | 1.1523 |
| Role Avg IP | 0.9680 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"opponent": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"edges": {
"quality_edge": 0.1856,
"offense_edge": -0.118,
"opponent_offense_edge": -0.029,
"defense_strength": 0.015,
"opponent_defense_weakness": 0.2183,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9846,
"strikeout": 1.0079
},
"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": 195.0,
"k_percent": 38.4,
"bb_percent": 9.5,
"woba": 0.287,
"xwoba": 0.281,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 42.2,
"avg_best_speed": 76.4587,
"avg_hyper_speed": 94.7036,
"whiff_percent": 41.0,
"swing_percent": 47.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3815,
"command_and_miss": 1.8307,
"regression_edge": 0.1714,
"xwoba_edge": 0.8571,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.6286,
"whiff_edge": 2.2571,
"bb_edge": -0.1,
"pitch_design_score": 0.1897
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "662253",
"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.25498280121658,
"release_spin_rate": 2312.850420109277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.25498280121658,
"release_spin_rate": 2312.850420109277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.255,
"release_spin_rate": 2312.8504,
"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.1897,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3548,
"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.5631,
"sample_weight": 0.78,
"run_prevention_factor": 0.9521,
"strikeout_factor": 1.144,
"walk_factor": 1.0062,
"homer_factor": 1.0259,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662253",
"espn_id": 40939,
"player_name": "Andres Munoz",
"team": "SEA",
"role": "pitcher",
"espn_rank": 468,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 468,
"gp_value": 53.0,
"gp_rank": 74,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.2913,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 24.0,
"sv_rank": 12,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 50.1,
"ip_rank": 286,
"h_value": 40.0,
"h_rank": 310,
"er_value": 24.0,
"er_rank": 242,
"hr_value": 7.0,
"hr_rank": 219,
"bb_value": 20.0,
"bb_rank": 286,
"k_value": 81.0,
"k_rank": 143,
"k_per_9_value": 14.483443,
"k_per_9_rank": 13,
"whip_value": 1.192,
"whip_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9626,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9626,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0202,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.1123,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 6,
"H": 6,
"BB": 3,
"SO": 18,
"HR": 2,
"ERA": 5.586206896551724,
"WHIP": 0.9310344827586208,
"K9": 16.758620689655174,
"HR9": 1.8620689655172415,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "662253",
"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.25498280121658,
"release_spin_rate": 2312.850420109277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.25498280121658,
"release_spin_rate": 2312.850420109277,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.255,
"release_spin_rate": 2312.8504,
"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.1897,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3548,
"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.117,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6692,
"prior_weight": 0.3308
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "662253",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 52,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 1.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 3.6,
"WHIP": 0.8,
"ER_per_IP": 0.4,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 1.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 6.0,
"R": 7.0,
"H": 6.0,
"BB": 3.0,
"SO": 18.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.7,
"H": 0.6,
"BB": 0.3,
"SO": 1.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 5.5862,
"WHIP": 0.931,
"ER_per_IP": 0.62069,
"H_per_IP": 0.62069,
"BB_per_IP": 0.31034,
"SO_per_IP": 1.86207,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 52,
"totals": {
"IP": 50.1,
"ER": 22.0,
"R": 24.0,
"H": 39.0,
"BB": 19.0,
"SO": 81.0,
"HR": 7.0,
"BF": 209.0,
"Pitches": 829.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4231,
"R": 0.4615,
"H": 0.75,
"BB": 0.3654,
"SO": 1.5577,
"HR": 0.1346,
"BF": 4.0192,
"Pitches": 15.9423
},
"rates": {
"ERA": 3.9338,
"WHIP": 1.1523,
"ER_per_IP": 0.43709,
"H_per_IP": 0.77483,
"BB_per_IP": 0.37748,
"SO_per_IP": 1.60927,
"HR_per_IP": 0.13907
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.489,
"predicted_H": 0.691,
"predicted_BB": 0.366,
"predicted_SO": 1.504,
"predicted_HR": 0.176,
"predicted_ERA": 4.4004,
"predicted_WHIP": 1.0577
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4898,
"form_weight": 0.5102,
"form_reliability": 0.6692,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.117,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6692,
"prior_weight": 0.3308
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.489,
"final": 0.2495,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.691,
"final": 0.3526,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.366,
"final": 0.1867,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.504,
"final": 1.7469,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.176,
"final": 0.0898,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4004,
"final": 4.4004,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0577,
"final": 1.0577,
"source": "form_only"
}
}
}{
"available": false,
"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.1534 |
| ESPN Rank | 207 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0788 |
| Avg Velo | 91.2751 |
| Avg Spin | 2329.0699 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.2459 |
| Season WHIP | 1.3607 |
| Role Avg IP | 0.9380 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"opponent": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"edges": {
"quality_edge": 0.1856,
"offense_edge": -0.118,
"opponent_offense_edge": -0.029,
"defense_strength": 0.015,
"opponent_defense_weakness": 0.2183,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9846,
"strikeout": 1.0079
},
"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": 230.0,
"k_percent": 23.3,
"bb_percent": 7.6,
"woba": 0.327,
"xwoba": 0.324,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 38.3,
"avg_best_speed": 78.7721,
"avg_hyper_speed": 94.1165,
"whiff_percent": 21.6,
"swing_percent": 45.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.3173,
"command_and_miss": -0.015,
"regression_edge": 0.0857,
"xwoba_edge": -0.3714,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.0714,
"whiff_edge": -0.5143,
"bb_edge": 0.375,
"pitch_design_score": 0.0788
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660825",
"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.27509209576573,
"release_spin_rate": 2329.0699082642045,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.27509209576573,
"release_spin_rate": 2329.0699082642045,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2751,
"release_spin_rate": 2329.0699,
"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.0788,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5628,
"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.1534,
"sample_weight": 0.92,
"run_prevention_factor": 1.013,
"strikeout_factor": 0.9884,
"walk_factor": 0.9724,
"homer_factor": 1.0292,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660825",
"espn_id": 41939,
"player_name": "Eduard Bazardo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 207,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 207,
"gp_value": 65.0,
"gp_rank": 8,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.2459,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 26.0,
"hld_rank": 5,
"ip_value": 61.0,
"ip_rank": 210,
"h_value": 63.0,
"h_rank": 173,
"er_value": 22.0,
"er_rank": 277,
"hr_value": 9.0,
"hr_rank": 171,
"bb_value": 20.0,
"bb_rank": 286,
"k_value": 61.0,
"k_rank": 209,
"k_per_9_value": 9.0,
"k_per_9_rank": 26,
"whip_value": 1.3606,
"whip_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.012,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.012,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9746,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0269,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9893,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 3,
"H": 11,
"BB": 6,
"SO": 10,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 1.7586206896551726,
"K9": 9.310344827586208,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-31T00:00:00"
}{
"available": true,
"pitcher_id": "660825",
"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.27509209576573,
"release_spin_rate": 2329.0699082642045,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.27509209576573,
"release_spin_rate": 2329.0699082642045,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2751,
"release_spin_rate": 2329.0699,
"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.0788,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5628,
"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.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7103,
"prior_weight": 0.2897
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "660825",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 4.0,
"SO": 4.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 86.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.8,
"SO": 0.8,
"HR": 0.2,
"BF": 4.6,
"Pitches": 17.2
},
"rates": {
"ERA": 6.75,
"WHIP": 2.75,
"ER_per_IP": 0.75,
"H_per_IP": 1.75,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 4.6,
"Pitches": 17.0
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.7586,
"ER_per_IP": 0.31034,
"H_per_IP": 1.13793,
"BB_per_IP": 0.62069,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 65,
"totals": {
"IP": 61.0,
"ER": 22.0,
"R": 25.0,
"H": 63.0,
"BB": 20.0,
"SO": 61.0,
"HR": 9.0,
"BF": 262.0,
"Pitches": 998.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3385,
"R": 0.3846,
"H": 0.9692,
"BB": 0.3077,
"SO": 0.9385,
"HR": 0.1385,
"BF": 4.0308,
"Pitches": 15.3538
},
"rates": {
"ERA": 3.2459,
"WHIP": 1.3607,
"ER_per_IP": 0.36066,
"H_per_IP": 1.03279,
"BB_per_IP": 0.32787,
"SO_per_IP": 1.0,
"HR_per_IP": 0.14754
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.458,
"predicted_H": 1.135,
"predicted_BB": 0.561,
"predicted_SO": 0.885,
"predicted_HR": 0.151,
"predicted_ERA": 4.6104,
"predicted_WHIP": 1.8987
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4724,
"form_weight": 0.5276,
"form_reliability": 0.7103,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7103,
"prior_weight": 0.2897
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.458,
"final": 0.2416,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.135,
"final": 1.5436,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.561,
"final": 0.7684,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.885,
"final": 0.9393,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.151,
"final": 0.0797,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6104,
"final": 4.6104,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8987,
"final": 1.8987,
"source": "form_only"
}
}
}{
"available": false,
"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 | Gabe Speier |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0115 |
| ESPN Rank | 174 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1176 |
| Avg Velo | 91.9683 |
| Avg Spin | 2212.6183 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.5826 |
| Season WHIP | 1.0957 |
| Role Avg IP | 0.8520 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"opponent": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"edges": {
"quality_edge": 0.1856,
"offense_edge": -0.118,
"opponent_offense_edge": -0.029,
"defense_strength": 0.015,
"opponent_defense_weakness": 0.2183,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9846,
"strikeout": 1.0079
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642100",
"profile": {
"available": true,
"pitcher_id": "642100",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 135.0,
"k_percent": 20.8,
"bb_percent": 8.8,
"woba": 0.285,
"xwoba": 0.308,
"sweet_spot_percent": 26.2,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 36.4,
"avg_best_speed": 75.8682,
"avg_hyper_speed": 93.9945,
"whiff_percent": 21.6,
"swing_percent": 50.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2481,
"command_and_miss": -0.2357,
"regression_edge": -0.6571,
"xwoba_edge": 0.0857,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.2,
"whiff_edge": -0.5143,
"bb_edge": 0.075,
"pitch_design_score": 0.1176
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642100",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 2,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 2,
"pitch_usage": 0.0,
"release_speed": 91.968293247123,
"release_spin_rate": 2212.6182823998784,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 2,
"pitch_usage": 0.0,
"release_speed": 91.968293247123,
"release_spin_rate": 2212.6182823998784,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9683,
"release_spin_rate": 2212.6183,
"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.1176,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8401,
"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.0115,
"sample_weight": 0.54,
"run_prevention_factor": 0.999,
"strikeout_factor": 0.9855,
"walk_factor": 0.9968,
"homer_factor": 1.0145,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642100",
"espn_id": 40327,
"player_name": "Gabe Speier",
"team": "SEA",
"role": "pitcher",
"espn_rank": 174,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 174,
"gp_value": 45.0,
"gp_rank": 126,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.5826,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 18.0,
"hld_rank": 19,
"ip_value": 38.1,
"ip_rank": 370,
"h_value": 28.0,
"h_rank": 420,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 14.0,
"bb_rank": 385,
"k_value": 33.0,
"k_rank": 384,
"k_per_9_value": 7.747826,
"k_per_9_rank": 28,
"whip_value": 1.0956,
"whip_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9995,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9983,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0078,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9922,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 7,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 5.000000000000001,
"WHIP": 1.1111111111111114,
"K9": 7.000000000000002,
"HR9": 1.0000000000000002,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "642100",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 2,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 2,
"pitch_usage": 0.0,
"release_speed": 91.968293247123,
"release_spin_rate": 2212.6182823998784,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 2,
"pitch_usage": 0.0,
"release_speed": 91.968293247123,
"release_spin_rate": 2212.6182823998784,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9683,
"release_spin_rate": 2212.6183,
"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.1176,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8401,
"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.705,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6064,
"prior_weight": 0.3936
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "642100",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.5294,
"ER_per_IP": 0.17647,
"H_per_IP": 0.35294,
"BB_per_IP": 0.17647,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.8,
"Pitches": 12.2
},
"rates": {
"ERA": 5.0,
"WHIP": 1.1111,
"ER_per_IP": 0.55556,
"H_per_IP": 0.77778,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.77778,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 45,
"totals": {
"IP": 38.1,
"ER": 11.0,
"R": 13.0,
"H": 28.0,
"BB": 14.0,
"SO": 33.0,
"HR": 4.0,
"BF": 159.0,
"Pitches": 572.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2444,
"R": 0.2889,
"H": 0.6222,
"BB": 0.3111,
"SO": 0.7333,
"HR": 0.0889,
"BF": 3.5333,
"Pitches": 12.7111
},
"rates": {
"ERA": 2.5826,
"WHIP": 1.0957,
"ER_per_IP": 0.28696,
"H_per_IP": 0.73043,
"BB_per_IP": 0.36522,
"SO_per_IP": 0.86087,
"HR_per_IP": 0.10435
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.397,
"predicted_H": 0.733,
"predicted_BB": 0.309,
"predicted_SO": 0.832,
"predicted_HR": 0.142,
"predicted_ERA": 3.5704,
"predicted_WHIP": 1.042
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5163,
"form_weight": 0.4837,
"form_reliability": 0.6064,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.705,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6064,
"prior_weight": 0.3936
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.397,
"final": 0.192,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.733,
"final": 0.3546,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.309,
"final": 0.6658,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.832,
"final": 0.4024,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0687,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5704,
"final": 3.5704,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.042,
"final": 1.042,
"source": "form_only"
}
}
}{
"available": false,
"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.1065 |
| ESPN Rank | 232 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 4 |
| Pre SO | 1 |
| Season ERA | 3.7241 |
| Season WHIP | 1.3793 |
| Role Avg IP | 0.9210 |
| Recent Avg IP | 0.7330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 140,
"wins": 66,
"losses": 74,
"win_pct": 0.4714,
"runs_scored": 555.0,
"runs_allowed": 620.0,
"run_differential": -65.0,
"run_differential_per_game": -0.4643,
"avg_runs_scored": 3.9643,
"avg_runs_allowed": 4.4286,
"offense_index": 0.882,
"defense_index": 1.015,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 6.5,
"run_differential": -21.0
},
"available": true,
"quality_score": -0.1161
},
"opponent": {
"team": "OAK",
"games": 140,
"wins": 54,
"losses": 86,
"win_pct": 0.3857,
"runs_scored": 611.0,
"runs_allowed": 805.0,
"run_differential": -194.0,
"run_differential_per_game": -1.3857,
"avg_runs_scored": 4.3643,
"avg_runs_allowed": 5.75,
"offense_index": 0.971,
"defense_index": 0.7817,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.6,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.3017
},
"edges": {
"quality_edge": 0.1856,
"offense_edge": -0.118,
"opponent_offense_edge": -0.029,
"defense_strength": 0.015,
"opponent_defense_weakness": 0.2183,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9846,
"strikeout": 1.0079
},
"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": 17.5,
"bb_percent": 6.2,
"woba": 0.328,
"xwoba": 0.3,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 36.3,
"avg_best_speed": 74.6407,
"avg_hyper_speed": 93.4273,
"whiff_percent": 18.5,
"swing_percent": 51.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2928,
"command_and_miss": -0.4729,
"regression_edge": 0.8,
"xwoba_edge": 0.3143,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.9571,
"bb_edge": 0.725,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "678606",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1065,
"sample_weight": 0.88,
"run_prevention_factor": 0.9909,
"strikeout_factor": 0.9442,
"walk_factor": 0.949,
"homer_factor": 0.9529,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 232,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 232,
"gp_value": 64.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.7241,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 3.0,
"sv_rank": 66,
"hld_value": 13.0,
"hld_rank": 47,
"ip_value": 58.0,
"ip_rank": 231,
"h_value": 65.0,
"h_rank": 169,
"er_value": 24.0,
"er_rank": 242,
"hr_value": 6.0,
"hr_rank": 261,
"bb_value": 16.0,
"bb_rank": 348,
"k_value": 45.0,
"k_rank": 312,
"k_per_9_value": 6.9827585,
"k_per_9_rank": 36,
"whip_value": 1.3965,
"whip_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.992,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9551,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9586,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9509,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 12,
"BB": 2,
"SO": 4,
"HR": 1,
"ERA": 5.0,
"WHIP": 1.5555555555555556,
"K9": 4.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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "678606",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6998,
"prior_weight": 0.3002
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "678606",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 63,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 1.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 73.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.4,
"SO": 0.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.6
},
"rates": {
"ERA": 4.9091,
"WHIP": 2.1818,
"ER_per_IP": 0.54545,
"H_per_IP": 1.63636,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.27273,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 12.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.2,
"BB": 0.2,
"SO": 0.4,
"HR": 0.1,
"BF": 4.1,
"Pitches": 15.2
},
"rates": {
"ERA": 5.0,
"WHIP": 1.5556,
"ER_per_IP": 0.55556,
"H_per_IP": 1.33333,
"BB_per_IP": 0.22222,
"SO_per_IP": 0.44444,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 63,
"totals": {
"IP": 58.0,
"ER": 24.0,
"R": 25.0,
"H": 64.0,
"BB": 16.0,
"SO": 45.0,
"HR": 6.0,
"BF": 256.0,
"Pitches": 938.0
},
"per_game": {
"IP": 1.0,
"ER": 0.381,
"R": 0.3968,
"H": 1.0159,
"BB": 0.254,
"SO": 0.7143,
"HR": 0.0952,
"BF": 4.0635,
"Pitches": 14.8889
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.3793,
"ER_per_IP": 0.41379,
"H_per_IP": 1.10345,
"BB_per_IP": 0.27586,
"SO_per_IP": 0.77586,
"HR_per_IP": 0.10345
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.41,
"predicted_H": 1.024,
"predicted_BB": 0.299,
"predicted_SO": 0.465,
"predicted_HR": 0.068,
"predicted_ERA": 4.6362,
"predicted_WHIP": 1.6645
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4768,
"form_weight": 0.5232,
"form_reliability": 0.6998,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.658,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6998,
"prior_weight": 0.3002
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.41,
"final": 0.6913,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.024,
"final": 0.5357,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 0.299,
"final": 2.0638,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.465,
"final": 0.7201,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.068,
"final": 0.0356,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6362,
"final": 4.6362,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6645,
"final": 1.6645,
"source": "form_only"
}
}
}{
"available": false,
"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.096 | 0.000 | 0.000 | Hitting_2B | 0.109 | 1.000 | -0.109 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.650 | 3.000 | 5.000 | Hitting_AB | 3.673 | 5.000 | -0.673 | -2.000 |
| predicted_AVG | 0.210 | 0.333 | 0.200 | Hitting_AVG | 0.164 | 0.200 | 0.170 | 0.133 |
| predicted_BB | 0.548 | 0.000 | 1.000 | Hitting_BB | 0.554 | 0.000 | -0.554 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 0.601 | 1.000 | 0.399 | 0.000 |
| predicted_HR | 0.380 | 0.000 | 1.000 | Hitting_HR | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_OBP | 0.309 | 0.500 | 0.333 | Hitting_OBP | 0.276 | 0.200 | 0.224 | 0.300 |
| predicted_R | 0.337 | 1.000 | 1.000 | Hitting_R | 0.332 | 0.000 | 0.668 | 1.000 |
| predicted_RBI | 0.700 | 0.000 | 1.000 | Hitting_RBI | 0.495 | 1.000 | -0.495 | -1.000 |
| predicted_SLG | 0.536 | 0.333 | 0.800 | Hitting_SLG | 0.321 | 0.400 | 0.013 | -0.067 |
| predicted_SO | 1.317 | 0.000 | 1.000 | Hitting_SO | 1.356 | 1.000 | -1.356 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.3370 -> 1.0000 (boost 0.6630, better) |
| Biggest Deboost | predicted_AB: 4.6500 -> 3.0000 (deboost -1.6500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_R: 0.3370 -> 0.3918 (boost 0.0548, better) | predicted_AB: 4.6500 -> 4.2076 (deboost -0.4424, worse) | Final model input calibrated with local 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.5298 -> 0.5005 (deboost -0.0293, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_AB: 4.2076 -> 5.0000 (boost 0.7924, better) | predicted_HR: 0.3536 -> 0.0000 (deboost -0.3536, worse) | AB rounded to 5 (raw=4.65), rates preserved: AVG=0.197 HR/AB=0.076 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4005 -> 0.0000 (deboost -0.4005, 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 | 6 | 2 | 4 | 3 | 3 | predicted_HBP: 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.4610 -> 0.5005 (boost 0.0395, better) | - | 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.096,
"predicted_3B": 0.0,
"predicted_AB": 4.65,
"predicted_AVG": 0.21,
"predicted_BB": 0.548,
"predicted_H": 0.98,
"predicted_HR": 0.38,
"predicted_OBP": 0.309,
"predicted_R": 0.337,
"predicted_RBI": 0.7,
"predicted_SLG": 0.536,
"predicted_SO": 1.317
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1305,
"predicted_3B": 0.0004,
"predicted_AB": 4.2076,
"predicted_AVG": 0.2145,
"predicted_BB": 0.5338,
"predicted_H": 0.902,
"predicted_HBP": 0.018,
"predicted_HR": 0.3477,
"predicted_OBP": 0.3134,
"predicted_R": 0.3918,
"predicted_RBI": 0.6534,
"predicted_SLG": 0.5298,
"predicted_SO": 1.2864
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.096,
"after": 0.1305,
"delta": 0.0345,
"percent_delta": 0.3594,
"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.65,
"after": 4.2076,
"delta": -0.4424,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2145,
"delta": 0.0045,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.5338,
"delta": -0.0142,
"percent_delta": -0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.902,
"delta": -0.078,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.38,
"after": 0.3477,
"delta": -0.0323,
"percent_delta": -0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3134,
"delta": 0.0044,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 0.3918,
"delta": 0.0548,
"percent_delta": 0.1626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7,
"after": 0.6534,
"delta": -0.0466,
"percent_delta": -0.0666,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5298,
"delta": -0.0062,
"percent_delta": -0.0116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.317,
"after": 1.2864,
"delta": -0.0306,
"percent_delta": -0.0232,
"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_R",
"before": 0.337,
"after": 0.3918,
"delta": 0.0548,
"percent_delta": 0.1626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.2076,
"delta": -0.4424,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1305,
"predicted_3B": 0.0004,
"predicted_AB": 4.2076,
"predicted_AVG": 0.2172,
"predicted_BB": 0.5342,
"predicted_H": 0.9138,
"predicted_HBP": 0.018,
"predicted_HR": 0.3536,
"predicted_OBP": 0.3054,
"predicted_R": 0.4005,
"predicted_RBI": 0.6679,
"predicted_SLG": 0.5005,
"predicted_SO": 1.2854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1305,
"after": 0.1305,
"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.2076,
"after": 4.2076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2145,
"after": 0.2172,
"delta": 0.0027,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5338,
"after": 0.5342,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 0.9138,
"delta": 0.0118,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3477,
"after": 0.3536,
"delta": 0.0059,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3134,
"after": 0.3054,
"delta": -0.008,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3918,
"after": 0.4005,
"delta": 0.0087,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6534,
"after": 0.6679,
"delta": 0.0145,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5298,
"after": 0.5005,
"delta": -0.0293,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2864,
"after": 1.2854,
"delta": -0.001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5298,
"after": 0.5005,
"delta": -0.0293,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.65), rates preserved: AVG=0.197 HR/AB=0.076",
"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.1305,
"after": 0.0,
"delta": -0.1305,
"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.2076,
"after": 5.0,
"delta": 0.7924,
"percent_delta": 0.1883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5342,
"after": 1.0,
"delta": 0.4658,
"percent_delta": 0.872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9138,
"after": 1.0,
"delta": 0.0862,
"percent_delta": 0.0943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3536,
"after": 0.0,
"delta": -0.3536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6679,
"after": 1.0,
"delta": 0.3321,
"percent_delta": 0.4972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2854,
"after": 1.0,
"delta": -0.2854,
"percent_delta": -0.222,
"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_AB",
"before": 4.2076,
"after": 5.0,
"delta": 0.7924,
"percent_delta": 0.1883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3536,
"after": 0.0,
"delta": -0.3536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4005,
"after": 0.0,
"delta": -0.4005,
"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.4005,
"after": 0.0,
"delta": -0.4005,
"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": 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": 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": 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_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.197,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.461,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2172,
"after": 0.197,
"delta": -0.0202,
"percent_delta": -0.093,
"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.3054,
"after": 0.285,
"delta": -0.0204,
"percent_delta": -0.0668,
"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.5005,
"after": 0.461,
"delta": -0.0395,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 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.2172,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3054,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5005,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2172,
"delta": 0.0202,
"percent_delta": 0.1024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.3054,
"delta": 0.0204,
"percent_delta": 0.0715,
"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.461,
"after": 0.5005,
"delta": 0.0395,
"percent_delta": 0.0857,
"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.461,
"after": 0.5005,
"delta": 0.0395,
"percent_delta": 0.0857,
"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.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 3.0,
"delta": -1.65,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2172,
"delta": 0.0072,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"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.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3054,
"delta": -0.0036,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.536,
"after": 0.5005,
"delta": -0.0355,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.317,
"after": 0.0,
"delta": -1.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.337,
"after": 1.0,
"delta": 0.663,
"percent_delta": 1.9674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 3.0,
"delta": -1.65,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.096 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.210 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.380 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.337 | - |
| predicted_RBI | 0.700 | - |
| predicted_SLG | 0.536 | - |
| predicted_SO | 1.317 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | 0.035 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.208 | -0.442 |
| predicted_AVG | 0.214 | 0.005 |
| predicted_BB | 0.534 | -0.014 |
| predicted_H | 0.902 | -0.078 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.348 | -0.032 |
| predicted_OBP | 0.313 | 0.004 |
| predicted_R | 0.392 | 0.055 |
| predicted_RBI | 0.653 | -0.047 |
| predicted_SLG | 0.530 | -0.006 |
| predicted_SO | 1.286 | -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.131 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.208 | 0.000 |
| predicted_AVG | 0.217 | 0.003 |
| predicted_BB | 0.534 | 0.000 |
| predicted_H | 0.914 | 0.012 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.354 | 0.006 |
| predicted_OBP | 0.305 | -0.008 |
| predicted_R | 0.401 | 0.009 |
| predicted_RBI | 0.668 | 0.015 |
| predicted_SLG | 0.500 | -0.029 |
| predicted_SO | 1.285 | -0.001 |
AB rounded to 5 (raw=4.65), rates preserved: AVG=0.197 HR/AB=0.076
| 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 | 1.000 | 1.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.131 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.792 |
| predicted_AVG | 0.197 | -0.020 |
| predicted_BB | 1.000 | 0.466 |
| predicted_H | 1.000 | 0.086 |
| predicted_HR | 0.000 | -0.354 |
| predicted_OBP | 0.285 | -0.020 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 1.000 | 0.332 |
| predicted_SLG | 0.461 | -0.039 |
| 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 | 3.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 6.000 | 0.2632 | 0.3333 | 0.6842 | 0.2632 | 0.1053 | 0.1579 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 2.000 | 0.000 | 6.000 | 8.000 | 7.000 | 6.000 | 12.000 | 0.3143 | 0.4146 | 0.8857 | 0.3143 | 0.1714 | 0.2286 | 0.1714 | 0.3429 |
| season | 0.60 | 104 | - | 373.000 | 64.000 | 10.000 | 0.000 | 20.000 | 55.000 | 35.000 | 57.000 | 137.000 | 0.1716 | 0.2844 | 0.3592 | 0.1716 | 0.0536 | 0.1474 | 0.1528 | 0.3673 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6240 |
| predicted_AVG | 0.2204 |
| predicted_BB | 0.5150 |
| predicted_H | 0.7990 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.3050 |
| predicted_OBP | 0.3193 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.5920 |
| predicted_SLG | 0.5216 |
| predicted_SO | 1.2460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0960 | 0.1760 | 0.1305 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6500 | 3.6240 | 4.2076 | model_form_blend |
| predicted_AVG | 0.2100 | 0.2204 | 0.2145 | model_form_blend |
| predicted_BB | 0.5480 | 0.5150 | 0.5338 | model_form_blend |
| predicted_H | 0.9800 | 0.7990 | 0.9020 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.3800 | 0.3050 | 0.3477 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3193 | 0.3134 | model_form_blend |
| predicted_R | 0.3370 | 0.4640 | 0.3918 | model_form_blend |
| predicted_RBI | 0.7000 | 0.5920 | 0.6534 | model_form_blend |
| predicted_SLG | 0.5360 | 0.5216 | 0.5298 | model_form_blend |
| predicted_SO | 1.3170 | 1.2460 | 1.2864 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 404 |
| Season rows before report date | 404 |
| 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 | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260901_SEA@BOS |
| game_type | full |
| mlbID | 663728 |
| playerID | 663728 |
| playerName | Cal Raleigh |
| pos | C |
| started | True |
| startingPosition | C |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-01 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.29 |
| sl_xwoba | 0.308 |
| sl_xba | 0.184 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 14.6 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 25.2 |
| sl_whiff_percent | 31.5 |
| 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_2B | 0.189 | 0.000 | 1.000 | Hitting_2B | 0.228 | 1.000 | -0.228 | -1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 4.350 | 4.000 | 4.000 | Hitting_AB | 3.460 | 3.000 | 0.540 | 1.000 |
| predicted_AVG | 0.258 | 0.250 | 0.250 | Hitting_AVG | 0.276 | 0.333 | -0.026 | -0.083 |
| predicted_BB | 0.303 | 0.000 | 0.000 | Hitting_BB | 0.379 | 2.000 | -0.379 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 0.954 | 1.000 | 0.046 | 0.000 |
| predicted_HR | 0.260 | 1.000 | 0.000 | Hitting_HR | 0.210 | 0.000 | 0.790 | 1.000 |
| predicted_OBP | 0.338 | 0.250 | 0.250 | Hitting_OBP | 0.352 | 0.600 | -0.102 | -0.350 |
| predicted_R | 0.393 | 1.000 | 0.000 | Hitting_R | 0.486 | 1.000 | 0.514 | 0.000 |
| predicted_RBI | 0.730 | 1.000 | 1.000 | Hitting_RBI | 0.604 | 1.000 | 0.396 | 0.000 |
| predicted_SLG | 0.506 | 1.000 | 0.500 | Hitting_SLG | 0.531 | 0.667 | 0.469 | 0.333 |
| predicted_SO | 0.770 | 0.000 | 1.000 | Hitting_SO | 0.798 | 0.000 | -0.798 | 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_HR: 0.2600 -> 1.0000 (boost 0.7400, better) |
| Biggest Deboost | predicted_SO: 0.7700 -> 0.0000 (deboost -0.7700, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.7700 -> 0.8303 (boost 0.0603, worse) | predicted_AB: 4.3500 -> 4.0117 (deboost -0.3383, worse) | Final model input calibrated with local 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.3246 -> 0.3066 (deboost -0.0180, 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.6951 -> 1.0000 (boost 0.3049, better) | predicted_BB: 0.3105 -> 0.0000 (deboost -0.3105, worse) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.233 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4084 -> 0.0000 (deboost -0.4084, 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 | 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 | 3 | 2 | 1 | 3 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4550 -> 0.4932 (boost 0.0382, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.016,
"predicted_AB": 4.35,
"predicted_AVG": 0.258,
"predicted_BB": 0.303,
"predicted_H": 1.12,
"predicted_HR": 0.26,
"predicted_OBP": 0.338,
"predicted_R": 0.393,
"predicted_RBI": 0.73,
"predicted_SLG": 0.506,
"predicted_SO": 0.77
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2049,
"predicted_3B": 0.035,
"predicted_AB": 4.0117,
"predicted_AVG": 0.2489,
"predicted_BB": 0.3103,
"predicted_H": 1.0015,
"predicted_HBP": 0.044,
"predicted_HR": 0.2259,
"predicted_OBP": 0.3246,
"predicted_R": 0.3995,
"predicted_RBI": 0.68,
"predicted_SLG": 0.4976,
"predicted_SO": 0.8303
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.2049,
"delta": 0.0159,
"percent_delta": 0.0841,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.035,
"delta": 0.019,
"percent_delta": 1.1875,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0117,
"delta": -0.3383,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2489,
"delta": -0.0091,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.3103,
"delta": 0.0073,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0015,
"delta": -0.1185,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2259,
"delta": -0.0341,
"percent_delta": -0.1312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3246,
"delta": -0.0134,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 0.3995,
"delta": 0.0065,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.68,
"delta": -0.05,
"percent_delta": -0.0685,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.4976,
"delta": -0.0084,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.77,
"after": 0.8303,
"delta": 0.0603,
"percent_delta": 0.0783,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.77,
"after": 0.8303,
"delta": 0.0603,
"percent_delta": 0.0783,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0117,
"delta": -0.3383,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 122
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2049,
"predicted_3B": 0.035,
"predicted_AB": 4.0117,
"predicted_AVG": 0.2529,
"predicted_BB": 0.3105,
"predicted_H": 1.0146,
"predicted_HBP": 0.044,
"predicted_HR": 0.2297,
"predicted_OBP": 0.3066,
"predicted_R": 0.4084,
"predicted_RBI": 0.6951,
"predicted_SLG": 0.4932,
"predicted_SO": 0.8296
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2049,
"after": 0.2049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0117,
"after": 4.0117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2529,
"delta": 0.004,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3103,
"after": 0.3105,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0015,
"after": 1.0146,
"delta": 0.0131,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2259,
"after": 0.2297,
"delta": 0.0038,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3246,
"after": 0.3066,
"delta": -0.018,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3995,
"after": 0.4084,
"delta": 0.0089,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6951,
"delta": 0.0151,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4976,
"after": 0.4932,
"delta": -0.0044,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8303,
"after": 0.8296,
"delta": -0.0007,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3246,
"after": 0.3066,
"delta": -0.018,
"percent_delta": -0.0555,
"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.233 HR/AB=0.053",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2049,
"after": 0.0,
"delta": -0.2049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0117,
"after": 4.0,
"delta": -0.0117,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0146,
"after": 1.0,
"delta": -0.0146,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2297,
"after": 0.0,
"delta": -0.2297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6951,
"after": 1.0,
"delta": 0.3049,
"percent_delta": 0.4386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8296,
"after": 1.0,
"delta": 0.1704,
"percent_delta": 0.2054,
"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.6951,
"after": 1.0,
"delta": 0.3049,
"percent_delta": 0.4386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4084,
"after": 0.0,
"delta": -0.4084,
"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.4084,
"after": 0.0,
"delta": -0.4084,
"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": 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.233,
"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.455,
"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.2529,
"after": 0.233,
"delta": -0.0199,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3066,
"after": 0.29,
"delta": -0.0166,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4932,
"after": 0.455,
"delta": -0.0382,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2529,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3066,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4932,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2529,
"delta": 0.0199,
"percent_delta": 0.0855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.29,
"after": 0.3066,
"delta": 0.0166,
"percent_delta": 0.0572,
"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.455,
"after": 0.4932,
"delta": 0.0382,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4932,
"delta": 0.0382,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"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.35,
"after": 4.0,
"delta": -0.35,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2529,
"delta": -0.0051,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3066,
"delta": -0.0314,
"percent_delta": -0.0929,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 1.0,
"delta": 0.607,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.4932,
"delta": -0.0128,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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_HR",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.189 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.393 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.506 | - |
| predicted_SO | 0.770 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.016 |
| predicted_3B | 0.035 | 0.019 |
| predicted_AB | 4.012 | -0.338 |
| predicted_AVG | 0.249 | -0.009 |
| predicted_BB | 0.310 | 0.007 |
| predicted_H | 1.002 | -0.119 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.226 | -0.034 |
| predicted_OBP | 0.325 | -0.013 |
| predicted_R | 0.400 | 0.007 |
| predicted_RBI | 0.680 | -0.050 |
| predicted_SLG | 0.498 | -0.008 |
| predicted_SO | 0.830 | 0.060 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 4.012 | 0.000 |
| predicted_AVG | 0.253 | 0.004 |
| predicted_BB | 0.310 | 0.000 |
| predicted_H | 1.015 | 0.013 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.230 | 0.004 |
| predicted_OBP | 0.307 | -0.018 |
| predicted_R | 0.408 | 0.009 |
| predicted_RBI | 0.695 | 0.015 |
| predicted_SLG | 0.493 | -0.004 |
| predicted_SO | 0.830 | -0.001 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.233 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.205 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 4.000 | -0.012 |
| predicted_AVG | 0.233 | -0.020 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | -0.015 |
| predicted_HR | 0.000 | -0.230 |
| predicted_OBP | 0.290 | -0.017 |
| predicted_R | 0.000 | -0.408 |
| predicted_RBI | 1.000 | 0.305 |
| predicted_SLG | 0.455 | -0.038 |
| predicted_SO | 1.000 | 0.170 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 2.000 | 1.000 | 1.000 | 4.000 | 2.000 | 2.000 | 6.000 | 0.1905 | 0.2609 | 0.5238 | 0.1905 | 0.0476 | 0.1905 | 0.0952 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 2.000 | 1.000 | 2.000 | 8.000 | 4.000 | 3.000 | 11.000 | 0.2250 | 0.2955 | 0.4750 | 0.2250 | 0.0500 | 0.2000 | 0.0750 | 0.2750 |
| season | 0.60 | 122 | - | 388.000 | 99.000 | 23.000 | 2.000 | 21.000 | 63.000 | 48.000 | 37.000 | 94.000 | 0.2552 | 0.3264 | 0.4871 | 0.2551 | 0.0541 | 0.1624 | 0.0954 | 0.2423 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2260 |
| predicted_3B | 0.0600 |
| predicted_AB | 3.5650 |
| predicted_AVG | 0.2370 |
| predicted_BB | 0.3200 |
| predicted_H | 0.8450 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3070 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.6140 |
| predicted_SLG | 0.4865 |
| predicted_SO | 0.9100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.2260 | 0.2049 | model_form_blend |
| predicted_3B | 0.0160 | 0.0600 | 0.0350 | model_form_blend |
| predicted_AB | 4.3500 | 3.5650 | 4.0117 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2370 | 0.2489 | model_form_blend |
| predicted_BB | 0.3030 | 0.3200 | 0.3103 | model_form_blend |
| predicted_H | 1.1200 | 0.8450 | 1.0015 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.2600 | 0.1810 | 0.2259 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3070 | 0.3246 | model_form_blend |
| predicted_R | 0.3930 | 0.4080 | 0.3995 | model_form_blend |
| predicted_RBI | 0.7300 | 0.6140 | 0.6800 | model_form_blend |
| predicted_SLG | 0.5060 | 0.4865 | 0.4976 | model_form_blend |
| predicted_SO | 0.7700 | 0.9100 | 0.8303 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 391 |
| Season rows before report date | 391 |
| Report year | 2026 |
| Profile rows used | 122 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 686527 |
| playerID | 686527 |
| playerName | Dominic Canzone |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.352 |
| sl_xwoba | 0.358 |
| sl_xba | 0.269 |
| sl_xslg | 0.491 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 27.7 |
| 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.156 | 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 | 5.140 | 3.000 | 5.000 | Hitting_AB | 4.017 | 5.000 | -1.017 | -2.000 |
| predicted_AVG | 0.238 | 0.000 | 0.200 | Hitting_AVG | 0.251 | 0.400 | -0.251 | -0.400 |
| predicted_BB | 0.312 | 1.000 | 0.000 | Hitting_BB | 0.344 | 0.000 | 0.656 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 1.220 | 0.000 | 1.000 | Hitting_H | 1.010 | 2.000 | -1.010 | -2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_OBP | 0.285 | 0.250 | 0.200 | Hitting_OBP | 0.314 | 0.400 | -0.064 | -0.150 |
| predicted_R | 0.492 | 0.000 | 1.000 | Hitting_R | 0.518 | 1.000 | -0.518 | -1.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.476 | 1.000 | -0.476 | -1.000 |
| predicted_SLG | 0.374 | 0.000 | 0.200 | Hitting_SLG | 0.411 | 0.400 | -0.411 | -0.400 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.944 | 2.000 | 0.056 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3120 -> 1.0000 (boost 0.6880, better) |
| Biggest Deboost | predicted_AB: 5.1400 -> 3.0000 (deboost -2.1400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 1.1066 (boost 0.1066, worse) | predicted_AB: 5.1400 -> 4.6953 (deboost -0.4447, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3672 -> 0.3572 (deboost -0.0100, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 4.6953 -> 5.0000 (boost 0.3047, better) | predicted_RBI: 0.4969 -> 0.0000 (deboost -0.4969, worse) | AB rounded to 5 (raw=5.14), rates preserved: AVG=0.214 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4971 -> 0.0000 (deboost -0.4971, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 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 | 5 | 0 | 5 | 0 | 5 | - | 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 | 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.3340 -> 0.3572 (boost 0.0232, 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.156,
"predicted_3B": 0.0,
"predicted_AB": 5.14,
"predicted_AVG": 0.238,
"predicted_BB": 0.312,
"predicted_H": 1.22,
"predicted_HR": 0.14,
"predicted_OBP": 0.285,
"predicted_R": 0.492,
"predicted_RBI": 0.51,
"predicted_SLG": 0.374,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1791,
"predicted_3B": 0.0004,
"predicted_AB": 4.6953,
"predicted_AVG": 0.2309,
"predicted_BB": 0.2859,
"predicted_H": 1.0864,
"predicted_HBP": 0.025,
"predicted_HR": 0.13,
"predicted_OBP": 0.2778,
"predicted_R": 0.4863,
"predicted_RBI": 0.4861,
"predicted_SLG": 0.3672,
"predicted_SO": 1.1066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1791,
"delta": 0.0231,
"percent_delta": 0.1481,
"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": 5.14,
"after": 4.6953,
"delta": -0.4447,
"percent_delta": -0.0865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2309,
"delta": -0.0071,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.2859,
"delta": -0.0261,
"percent_delta": -0.0837,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.0864,
"delta": -0.1336,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.13,
"delta": -0.01,
"percent_delta": -0.0714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2778,
"delta": -0.0072,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.4863,
"delta": -0.0057,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4861,
"delta": -0.0239,
"percent_delta": -0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3672,
"delta": -0.0068,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1066,
"delta": 0.1066,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 1.1066,
"delta": 0.1066,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.14,
"after": 4.6953,
"delta": -0.4447,
"percent_delta": -0.0865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1791,
"predicted_3B": 0.0004,
"predicted_AB": 4.6953,
"predicted_AVG": 0.2344,
"predicted_BB": 0.2861,
"predicted_H": 1.1006,
"predicted_HBP": 0.025,
"predicted_HR": 0.1322,
"predicted_OBP": 0.2784,
"predicted_R": 0.4971,
"predicted_RBI": 0.4969,
"predicted_SLG": 0.3572,
"predicted_SO": 1.1057
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1791,
"after": 0.1791,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6953,
"after": 4.6953,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2344,
"delta": 0.0035,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2859,
"after": 0.2861,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0864,
"after": 1.1006,
"delta": 0.0142,
"percent_delta": 0.0131,
"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.13,
"after": 0.1322,
"delta": 0.0022,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2778,
"after": 0.2784,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4863,
"after": 0.4971,
"delta": 0.0108,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4861,
"after": 0.4969,
"delta": 0.0108,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.3572,
"delta": -0.01,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1066,
"after": 1.1057,
"delta": -0.0009,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.3572,
"delta": -0.01,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.14), rates preserved: AVG=0.214 HR/AB=0.026",
"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.1791,
"after": 0.0,
"delta": -0.1791,
"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.6953,
"after": 5.0,
"delta": 0.3047,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2861,
"after": 0.0,
"delta": -0.2861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1006,
"after": 1.0,
"delta": -0.1006,
"percent_delta": -0.0914,
"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.1322,
"after": 0.0,
"delta": -0.1322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1057,
"after": 1.0,
"delta": -0.1057,
"percent_delta": -0.0956,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.6953,
"after": 5.0,
"delta": 0.3047,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.4971,
"after": 0.0,
"delta": -0.4971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4971,
"after": 0.0,
"delta": -0.4971,
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.214,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.262,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.334,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2344,
"after": 0.214,
"delta": -0.0204,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2784,
"after": 0.262,
"delta": -0.0164,
"percent_delta": -0.0589,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3572,
"after": 0.334,
"delta": -0.0232,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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": 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.2344,
"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.2784,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3572,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2344,
"delta": 0.0204,
"percent_delta": 0.0954,
"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.262,
"after": 0.2784,
"delta": 0.0164,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3572,
"delta": 0.0232,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.334,
"after": 0.3572,
"delta": 0.0232,
"percent_delta": 0.0695,
"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.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.14,
"after": 3.0,
"delta": -2.14,
"percent_delta": -0.4163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2344,
"delta": -0.0036,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"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.285,
"after": 0.2784,
"delta": -0.0066,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3572,
"delta": -0.0168,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.14,
"after": 3.0,
"delta": -2.14,
"percent_delta": -0.4163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.140 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 1.000 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.695 | -0.445 |
| predicted_AVG | 0.231 | -0.007 |
| predicted_BB | 0.286 | -0.026 |
| predicted_H | 1.086 | -0.134 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.130 | -0.010 |
| predicted_OBP | 0.278 | -0.007 |
| predicted_R | 0.486 | -0.006 |
| predicted_RBI | 0.486 | -0.024 |
| predicted_SLG | 0.367 | -0.007 |
| predicted_SO | 1.107 | 0.107 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.695 | 0.000 |
| predicted_AVG | 0.234 | 0.004 |
| predicted_BB | 0.286 | 0.000 |
| predicted_H | 1.101 | 0.014 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.132 | 0.002 |
| predicted_OBP | 0.278 | 0.001 |
| predicted_R | 0.497 | 0.011 |
| predicted_RBI | 0.497 | 0.011 |
| predicted_SLG | 0.357 | -0.010 |
| predicted_SO | 1.106 | -0.001 |
AB rounded to 5 (raw=5.14), rates preserved: AVG=0.214 HR/AB=0.026
| 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 | 0.000 | 0.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.179 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.305 |
| predicted_AVG | 0.214 | -0.020 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | -0.101 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.262 | -0.016 |
| predicted_R | 0.000 | -0.497 |
| predicted_RBI | 0.000 | -0.497 |
| predicted_SLG | 0.334 | -0.023 |
| predicted_SO | 1.000 | -0.106 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 9.000 | 0.1818 | 0.2174 | 0.2727 | 0.1818 | 0.0000 | 0.0909 | 0.0454 | 0.4091 |
| last_10 | 0.20 | 10 | - | 43.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 1.000 | 16.000 | 0.1860 | 0.2045 | 0.3023 | 0.1860 | 0.0233 | 0.1163 | 0.0233 | 0.3721 |
| season | 0.60 | 128 | - | 511.000 | 125.000 | 20.000 | 0.000 | 20.000 | 58.000 | 63.000 | 40.000 | 128.000 | 0.2446 | 0.3036 | 0.4012 | 0.2446 | 0.0391 | 0.1135 | 0.0783 | 0.2505 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.1180 |
| predicted_AVG | 0.2217 |
| predicted_BB | 0.2520 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2685 |
| predicted_R | 0.4790 |
| predicted_RBI | 0.4550 |
| predicted_SLG | 0.3583 |
| predicted_SO | 1.2450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.2090 | 0.1791 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.1400 | 4.1180 | 4.6953 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2217 | 0.2309 | model_form_blend |
| predicted_BB | 0.3120 | 0.2520 | 0.2859 | model_form_blend |
| predicted_H | 1.2200 | 0.9130 | 1.0864 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1400 | 0.1170 | 0.1300 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2685 | 0.2778 | model_form_blend |
| predicted_R | 0.4920 | 0.4790 | 0.4863 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4550 | 0.4861 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3583 | 0.3672 | model_form_blend |
| predicted_SO | 1.0000 | 1.2450 | 1.1066 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 515 |
| Season rows before report date | 515 |
| 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 | 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.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 | 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 | CF |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.338 |
| sl_xba | 0.265 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 5.260 | 5.000 | 5.000 | Hitting_AB | 3.774 | 5.000 | 1.226 | 0.000 |
| predicted_AVG | 0.240 | 0.200 | 0.200 | Hitting_AVG | 0.283 | 0.200 | -0.083 | 0.000 |
| predicted_BB | 0.424 | 0.000 | 0.000 | Hitting_BB | 0.418 | 0.000 | -0.418 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 1.260 | 1.000 | 1.000 | Hitting_H | 1.069 | 1.000 | -0.069 | 0.000 |
| predicted_HR | 0.280 | 1.000 | 0.000 | Hitting_HR | 0.157 | 0.000 | 0.843 | 1.000 |
| predicted_OBP | 0.326 | 0.200 | 0.200 | Hitting_OBP | 0.376 | 0.200 | -0.176 | 0.000 |
| predicted_R | 0.674 | 1.000 | 1.000 | Hitting_R | 0.701 | 0.000 | 0.299 | 1.000 |
| predicted_RBI | 1.010 | 1.000 | 1.000 | Hitting_RBI | 0.490 | 1.000 | 0.510 | 0.000 |
| predicted_SLG | 0.473 | 0.800 | 0.200 | Hitting_SLG | 0.474 | 0.200 | 0.326 | 0.600 |
| predicted_SO | 0.924 | 0.000 | 1.000 | Hitting_SO | 0.898 | 0.000 | -0.898 | 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_HR: 0.2800 -> 1.0000 (boost 0.7200, better) |
| Biggest Deboost | predicted_SO: 0.9240 -> 0.0000 (deboost -0.9240, 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 | 3 | 3 | predicted_AVG: 0.2400 -> 0.2497 (boost 0.0097, better) | predicted_AB: 5.2600 -> 4.6726 (deboost -0.5874, worse) | Final model input calibrated with local 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.3330 -> 0.3122 (deboost -0.0208, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_AB: 4.6726 -> 5.0000 (boost 0.3274, better) | predicted_BB: 0.4156 -> 0.0000 (deboost -0.4156, worse) | AB rounded to 5 (raw=5.26), rates preserved: AVG=0.223 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6894 -> 1.0000 (boost 0.3106, 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.4643 -> 0.4120 (deboost -0.0523, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4120 -> 0.4643 (boost 0.0523, 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.205,
"predicted_3B": 0.008,
"predicted_AB": 5.26,
"predicted_AVG": 0.24,
"predicted_BB": 0.424,
"predicted_H": 1.26,
"predicted_HR": 0.28,
"predicted_OBP": 0.326,
"predicted_R": 0.674,
"predicted_RBI": 1.01,
"predicted_SLG": 0.473,
"predicted_SO": 0.924
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1954,
"predicted_3B": 0.0067,
"predicted_AB": 4.6726,
"predicted_AVG": 0.2497,
"predicted_BB": 0.4153,
"predicted_H": 1.1577,
"predicted_HBP": 0.092,
"predicted_HR": 0.2582,
"predicted_OBP": 0.333,
"predicted_R": 0.6744,
"predicted_RBI": 0.9003,
"predicted_SLG": 0.4795,
"predicted_SO": 0.9736
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.1954,
"delta": -0.0096,
"percent_delta": -0.0468,
"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": 5.26,
"after": 4.6726,
"delta": -0.5874,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2497,
"delta": 0.0097,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.4153,
"delta": -0.0087,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.26,
"after": 1.1577,
"delta": -0.1023,
"percent_delta": -0.0812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.2582,
"delta": -0.0218,
"percent_delta": -0.0779,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.333,
"delta": 0.007,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 0.6744,
"delta": 0.0004,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.01,
"after": 0.9003,
"delta": -0.1097,
"percent_delta": -0.1086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4795,
"delta": 0.0065,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 0.9736,
"delta": 0.0496,
"percent_delta": 0.0537,
"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_AVG",
"before": 0.24,
"after": 0.2497,
"delta": 0.0097,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.26,
"after": 4.6726,
"delta": -0.5874,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1954,
"predicted_3B": 0.0067,
"predicted_AB": 4.6726,
"predicted_AVG": 0.251,
"predicted_BB": 0.4156,
"predicted_H": 1.1729,
"predicted_HBP": 0.092,
"predicted_HR": 0.2626,
"predicted_OBP": 0.3122,
"predicted_R": 0.6894,
"predicted_RBI": 0.9203,
"predicted_SLG": 0.4643,
"predicted_SO": 0.9728
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1954,
"after": 0.1954,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6726,
"after": 4.6726,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2497,
"after": 0.251,
"delta": 0.0013,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4153,
"after": 0.4156,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1577,
"after": 1.1729,
"delta": 0.0152,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2582,
"after": 0.2626,
"delta": 0.0044,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3122,
"delta": -0.0208,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6744,
"after": 0.6894,
"delta": 0.015,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9003,
"after": 0.9203,
"delta": 0.02,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4795,
"after": 0.4643,
"delta": -0.0152,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9736,
"after": 0.9728,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3122,
"delta": -0.0208,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.26), rates preserved: AVG=0.223 HR/AB=0.050",
"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.1954,
"after": 0.0,
"delta": -0.1954,
"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.6726,
"after": 5.0,
"delta": 0.3274,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1729,
"after": 1.0,
"delta": -0.1729,
"percent_delta": -0.1474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2626,
"after": 0.0,
"delta": -0.2626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9203,
"after": 1.0,
"delta": 0.0797,
"percent_delta": 0.0866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9728,
"after": 1.0,
"delta": 0.0272,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.6726,
"after": 5.0,
"delta": 0.3274,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4156,
"after": 0.0,
"delta": -0.4156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6894,
"after": 1.0,
"delta": 0.3106,
"percent_delta": 0.4505,
"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.6894,
"after": 1.0,
"delta": 0.3106,
"percent_delta": 0.4505,
"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.223,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.412,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.223,
"delta": -0.028,
"percent_delta": -0.1116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.286,
"delta": -0.0262,
"percent_delta": -0.0839,
"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.4643,
"after": 0.412,
"delta": -0.0523,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4643,
"after": 0.412,
"delta": -0.0523,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.251,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3122,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4643,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.223,
"after": 0.251,
"delta": 0.028,
"percent_delta": 0.1256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.286,
"after": 0.3122,
"delta": 0.0262,
"percent_delta": 0.0916,
"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.412,
"after": 0.4643,
"delta": 0.0523,
"percent_delta": 0.1269,
"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.412,
"after": 0.4643,
"delta": 0.0523,
"percent_delta": 0.1269,
"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.205,
"after": 0.0,
"delta": -0.205,
"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": 5.26,
"after": 5.0,
"delta": -0.26,
"percent_delta": -0.0494,
"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.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.26,
"after": 1.0,
"delta": -0.26,
"percent_delta": -0.2063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3122,
"delta": -0.0138,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.674,
"after": 1.0,
"delta": 0.326,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4643,
"delta": -0.0087,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.924,
"after": 0.0,
"delta": -0.924,
"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_HR",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.924,
"after": 0.0,
"delta": -0.924,
"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.205 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 5.260 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.424 | - |
| predicted_H | 1.260 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.674 | - |
| predicted_RBI | 1.010 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 0.924 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | -0.010 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.673 | -0.587 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.415 | -0.009 |
| predicted_H | 1.158 | -0.102 |
| predicted_HBP | 0.092 | - |
| predicted_HR | 0.258 | -0.022 |
| predicted_OBP | 0.333 | 0.007 |
| predicted_R | 0.674 | 0.000 |
| predicted_RBI | 0.900 | -0.110 |
| predicted_SLG | 0.479 | 0.007 |
| predicted_SO | 0.974 | 0.050 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.673 | 0.000 |
| predicted_AVG | 0.251 | 0.001 |
| predicted_BB | 0.416 | 0.000 |
| predicted_H | 1.173 | 0.015 |
| predicted_HBP | 0.092 | 0.000 |
| predicted_HR | 0.263 | 0.004 |
| predicted_OBP | 0.312 | -0.021 |
| predicted_R | 0.689 | 0.015 |
| predicted_RBI | 0.920 | 0.020 |
| predicted_SLG | 0.464 | -0.015 |
| predicted_SO | 0.973 | -0.001 |
AB rounded to 5 (raw=5.26), rates preserved: AVG=0.223 HR/AB=0.050
| 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.195 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.327 |
| predicted_AVG | 0.223 | -0.028 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | -0.173 |
| predicted_HR | 0.000 | -0.263 |
| predicted_OBP | 0.286 | -0.026 |
| predicted_R | 1.000 | 0.311 |
| predicted_RBI | 1.000 | 0.080 |
| predicted_SLG | 0.412 | -0.052 |
| predicted_SO | 1.000 | 0.027 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 6.000 | 1.000 | 0.000 | 2.000 | 8.000 | 4.000 | 0.000 | 7.000 | 0.2609 | 0.2609 | 0.5652 | 0.2609 | 0.0870 | 0.3478 | 0.0000 | 0.3044 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 1.000 | 0.000 | 3.000 | 9.000 | 6.000 | 7.000 | 11.000 | 0.2368 | 0.3556 | 0.5000 | 0.2368 | 0.0790 | 0.2368 | 0.1842 | 0.2895 |
| season | 0.60 | 132 | - | 492.000 | 134.000 | 27.000 | 1.000 | 22.000 | 66.000 | 89.000 | 56.000 | 122.000 | 0.2724 | 0.3678 | 0.4654 | 0.2724 | 0.0447 | 0.1341 | 0.1138 | 0.2480 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9110 |
| predicted_AVG | 0.2622 |
| predicted_BB | 0.4040 |
| predicted_H | 1.0250 |
| predicted_HBP | 0.0920 |
| predicted_HR | 0.2300 |
| predicted_OBP | 0.3421 |
| predicted_R | 0.6750 |
| predicted_RBI | 0.7580 |
| predicted_SLG | 0.4880 |
| predicted_SO | 1.0380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.1830 | 0.1954 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 5.2600 | 3.9110 | 4.6726 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2622 | 0.2497 | model_form_blend |
| predicted_BB | 0.4240 | 0.4040 | 0.4153 | model_form_blend |
| predicted_H | 1.2600 | 1.0250 | 1.1577 | model_form_blend |
| predicted_HBP | - | 0.0920 | 0.0920 | form_only |
| predicted_HR | 0.2800 | 0.2300 | 0.2582 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3421 | 0.3330 | model_form_blend |
| predicted_R | 0.6740 | 0.6750 | 0.6744 | model_form_blend |
| predicted_RBI | 1.0100 | 0.7580 | 0.9003 | model_form_blend |
| predicted_SLG | 0.4730 | 0.4880 | 0.4795 | model_form_blend |
| predicted_SO | 0.9240 | 1.0380 | 0.9736 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 522 |
| Season rows before report date | 522 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.367 |
| sl_xwoba | 0.349 |
| sl_xba | 0.261 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 1.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.540 | 4.000 | 5.000 | Hitting_AB | 4.000 | 4.000 | 0.000 | 0.000 |
| predicted_AVG | 0.286 | 0.500 | 0.200 | Hitting_AVG | 0.500 | 0.500 | 0.000 | 0.000 |
| predicted_BB | 1.000 | 0.000 | 1.000 | Hitting_BB | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.300 | 2.000 | 1.000 | Hitting_H | 2.000 | 2.000 | 0.000 | 0.000 |
| predicted_HR | 0.430 | 0.000 | 1.000 | Hitting_HR | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_OBP | 0.348 | 0.500 | 0.333 | Hitting_OBP | 0.600 | 0.600 | -0.100 | -0.100 |
| predicted_R | 2.000 | 1.000 | 2.000 | Hitting_R | 2.000 | 2.000 | -1.000 | -1.000 |
| predicted_RBI | 0.910 | 0.000 | 1.000 | Hitting_RBI | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_SLG | 0.608 | 0.750 | 0.800 | Hitting_SLG | 1.250 | 1.250 | -0.500 | -0.500 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 2.0000 -> 1.7419 (deboost -0.2581, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3479 -> 0.4075 (boost 0.0596, better) | predicted_SLG: 0.5920 -> 0.5714 (deboost -0.0206, 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_AB: 4.3989 -> 5.0000 (boost 0.6011, better) | predicted_HR: 0.4010 -> 0.0000 (deboost -0.4010, worse) | AB rounded to 5 (raw=4.54), rates preserved: AVG=0.281 HR/AB=0.088 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.7806 -> 2.0000 (boost 0.2194, 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 | 1 | 3 | 1 | 3 | predicted_SLG: 0.5714 -> 0.6010 (boost 0.0296, 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 | 7 | 2 | 5 | 3 | 4 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2810 -> 0.2897 (boost 0.0087, better) | predicted_SLG: 0.6010 -> 0.5714 (deboost -0.0296, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703155",
"player_name": "Lazaro Montes",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 4.54,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 1.3,
"predicted_HR": 0.43,
"predicted_OBP": 0.348,
"predicted_R": 2.0,
"predicted_RBI": 0.91,
"predicted_SLG": 0.608,
"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.0309,
"predicted_3B": 0.0026,
"predicted_AB": 4.3989,
"predicted_AVG": 0.2856,
"predicted_BB": 0.8736,
"predicted_H": 1.2579,
"predicted_HBP": 0.028,
"predicted_HR": 0.3943,
"predicted_OBP": 0.3479,
"predicted_R": 1.7419,
"predicted_RBI": 0.866,
"predicted_SLG": 0.592,
"predicted_SO": 0.9739
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0309,
"delta": 0.0309,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0026,
"delta": 0.0026,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 4.3989,
"delta": -0.1411,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2856,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.8736,
"delta": -0.1264,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3,
"after": 1.2579,
"delta": -0.0421,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.43,
"after": 0.3943,
"delta": -0.0357,
"percent_delta": -0.083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3479,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.7419,
"delta": -0.2581,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.91,
"after": 0.866,
"delta": -0.044,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.608,
"after": 0.592,
"delta": -0.016,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9739,
"delta": -0.0261,
"percent_delta": -0.0261,
"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": 2.0,
"after": 1.7419,
"delta": -0.2581,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 1,
"last_10": 1,
"season": 1
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0309,
"predicted_3B": 0.0026,
"predicted_AB": 4.3989,
"predicted_AVG": 0.2897,
"predicted_BB": 0.8743,
"predicted_H": 1.2744,
"predicted_HBP": 0.028,
"predicted_HR": 0.401,
"predicted_OBP": 0.4075,
"predicted_R": 1.7806,
"predicted_RBI": 0.8852,
"predicted_SLG": 0.5714,
"predicted_SO": 0.9731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0309,
"after": 0.0309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0026,
"after": 0.0026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3989,
"after": 4.3989,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2856,
"after": 0.2897,
"delta": 0.0041,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8736,
"after": 0.8743,
"delta": 0.0007,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2579,
"after": 1.2744,
"delta": 0.0165,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3943,
"after": 0.401,
"delta": 0.0067,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3479,
"after": 0.4075,
"delta": 0.0596,
"percent_delta": 0.1713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.7419,
"after": 1.7806,
"delta": 0.0387,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.866,
"after": 0.8852,
"delta": 0.0192,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.592,
"after": 0.5714,
"delta": -0.0206,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9739,
"after": 0.9731,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3479,
"after": 0.4075,
"delta": 0.0596,
"percent_delta": 0.1713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.592,
"after": 0.5714,
"delta": -0.0206,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.54), rates preserved: AVG=0.281 HR/AB=0.088",
"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.0309,
"after": 0.0,
"delta": -0.0309,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0026,
"after": 0.0,
"delta": -0.0026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3989,
"after": 5.0,
"delta": 0.6011,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8743,
"after": 1.0,
"delta": 0.1257,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2744,
"after": 1.0,
"delta": -0.2744,
"percent_delta": -0.2153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8852,
"after": 1.0,
"delta": 0.1148,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9731,
"after": 1.0,
"delta": 0.0269,
"percent_delta": 0.0276,
"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": 4.3989,
"after": 5.0,
"delta": 0.6011,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 2.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": 1.7806,
"after": 2.0,
"delta": 0.2194,
"percent_delta": 0.1232,
"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": 1.7806,
"after": 2.0,
"delta": 0.2194,
"percent_delta": 0.1232,
"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": 2.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 5.0,
"predicted_AVG": 0.281,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.401,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.601,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2897,
"after": 0.281,
"delta": -0.0087,
"percent_delta": -0.03,
"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.4075,
"after": 0.401,
"delta": -0.0065,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.5714,
"after": 0.601,
"delta": 0.0296,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.5714,
"after": 0.601,
"delta": 0.0296,
"percent_delta": 0.0518,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2897,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4075,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5714,
"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.281,
"after": 0.2897,
"delta": 0.0087,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.401,
"after": 0.4075,
"delta": 0.0065,
"percent_delta": 0.0161,
"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.601,
"after": 0.5714,
"delta": -0.0296,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2897,
"delta": 0.0087,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.601,
"after": 0.5714,
"delta": -0.0296,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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.54,
"after": 4.0,
"delta": -0.54,
"percent_delta": -0.1189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2897,
"delta": 0.0037,
"percent_delta": 0.0129,
"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.3,
"after": 2.0,
"delta": 0.7,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.4075,
"delta": 0.0595,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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.608,
"after": 0.5714,
"delta": -0.0366,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.540 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 1.000 | - |
| predicted_H | 1.300 | - |
| predicted_HR | 0.430 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 2.000 | - |
| predicted_RBI | 0.910 | - |
| predicted_SLG | 0.608 | - |
| 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.031 | 0.031 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.399 | -0.141 |
| predicted_AVG | 0.286 | -0.000 |
| predicted_BB | 0.874 | -0.126 |
| predicted_H | 1.258 | -0.042 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.394 | -0.036 |
| predicted_OBP | 0.348 | -0.000 |
| predicted_R | 1.742 | -0.258 |
| predicted_RBI | 0.866 | -0.044 |
| predicted_SLG | 0.592 | -0.016 |
| predicted_SO | 0.974 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.399 | 0.000 |
| predicted_AVG | 0.290 | 0.004 |
| predicted_BB | 0.874 | 0.001 |
| predicted_H | 1.274 | 0.016 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.401 | 0.007 |
| predicted_OBP | 0.407 | 0.060 |
| predicted_R | 1.781 | 0.039 |
| predicted_RBI | 0.885 | 0.019 |
| predicted_SLG | 0.571 | -0.021 |
| predicted_SO | 0.973 | -0.001 |
AB rounded to 5 (raw=4.54), rates preserved: AVG=0.281 HR/AB=0.088
| 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 | 2.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 | 1.000 | 1.000 |
| R | 2.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.031 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 5.000 | 0.601 |
| predicted_AVG | 0.281 | -0.009 |
| predicted_BB | 1.000 | 0.126 |
| predicted_H | 1.000 | -0.274 |
| predicted_HR | 0.000 | -0.401 |
| predicted_OBP | 0.401 | -0.006 |
| predicted_R | 2.000 | 0.219 |
| predicted_RBI | 1.000 | 0.115 |
| predicted_SLG | 0.601 | 0.030 |
| predicted_SO | 1.000 | 0.027 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.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 | 1 | - | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.5000 | 0.6000 | 1.2500 | 0.5000 | 0.2500 | 0.5000 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 1 | - | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.5000 | 0.6000 | 1.2500 | 0.5000 | 0.2500 | 0.5000 | 0.2500 | 0.2500 |
| season | 0.60 | 1 | - | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.5000 | 0.6000 | 1.2500 | 0.5000 | 0.2500 | 0.5000 | 0.2500 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1550 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.8320 |
| predicted_AVG | 0.2841 |
| predicted_BB | 0.3660 |
| predicted_H | 1.0890 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.2510 |
| predicted_OBP | 0.3477 |
| predicted_R | 0.7050 |
| predicted_RBI | 0.6890 |
| predicted_SLG | 0.5278 |
| predicted_SO | 0.8690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1550 | 0.0309 | model_form_blend |
| predicted_3B | 0.0000 | 0.0130 | 0.0026 | model_form_blend |
| predicted_AB | 4.5400 | 3.8320 | 4.3989 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2841 | 0.2856 | model_form_blend |
| predicted_BB | 1.0000 | 0.3660 | 0.8736 | model_form_blend |
| predicted_H | 1.3000 | 1.0890 | 1.2579 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.4300 | 0.2510 | 0.3943 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3477 | 0.3479 | model_form_blend |
| predicted_R | 2.0000 | 0.7050 | 1.7419 | model_form_blend |
| predicted_RBI | 0.9100 | 0.6890 | 0.8660 | model_form_blend |
| predicted_SLG | 0.6080 | 0.5278 | 0.5920 | model_form_blend |
| predicted_SO | 1.0000 | 0.8690 | 0.9739 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 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.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260901_SEA@BOS |
| game_type | full |
| mlbID | 703155 |
| playerID | 703155 |
| playerName | Lazaro Montes |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-01 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 20.0 |
| sl_woba | 0.728 |
| sl_xwoba | 0.568 |
| sl_xba | 0.306 |
| sl_xslg | 0.988 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 33.3 |
| sl_hard_hit_percent | 66.7 |
| sl_exit_velocity_avg | 96.8 |
| sl_launch_angle_avg | 29.4 |
| sl_whiff_percent | 36.4 |
| sl_swing_percent | 57.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.312 | 0.000 | -0.312 | 0.000 |
| predicted_3B | 0.071 | 0.000 | 0.000 | Hitting_3B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_AB | 3.071 | 3.000 | 3.000 | Hitting_AB | 3.094 | 3.000 | -0.094 | 0.000 |
| predicted_AVG | 0.186 | 0.000 | 0.333 | Hitting_AVG | 0.242 | 0.667 | -0.242 | -0.667 |
| predicted_BB | 0.500 | 1.000 | 1.000 | Hitting_BB | 0.531 | 2.000 | 0.469 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_H | 0.571 | 0.000 | 1.000 | Hitting_H | 0.750 | 2.000 | -0.750 | -2.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.300 | 0.250 | 0.500 | Hitting_OBP | 0.339 | 0.800 | -0.089 | -0.550 |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.375 | 1.000 | -0.375 | -1.000 |
| predicted_RBI | 0.286 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_SLG | 0.279 | 0.000 | 0.333 | Hitting_SLG | 0.424 | 0.667 | -0.424 | -0.667 |
| predicted_SO | 1.071 | 1.000 | 1.000 | Hitting_SO | 1.375 | 1.000 | -0.375 | 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.5000 -> 1.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_H: 0.5710 -> 0.0000 (deboost -0.5710, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_AB: 3.0710 -> 3.1492 (boost 0.0782, better) | predicted_SO: 1.0710 -> 1.0095 (deboost -0.0615, 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 | 1 | 5 | 1 | 5 | predicted_H: 0.6058 -> 1.0000 (boost 0.3942, better) | predicted_BB: 0.4673 -> 0.0000 (deboost -0.4673, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.192 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3719 -> 0.0000 (deboost -0.3719, 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2967 -> 0.3020 (boost 0.0053, better) | 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 | 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.3020 -> 0.2967 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "801126",
"player_name": "Brock Rodden",
"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.143,
"predicted_3B": 0.071,
"predicted_AB": 3.071,
"predicted_AVG": 0.186,
"predicted_BB": 0.5,
"predicted_H": 0.571,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 0.357,
"predicted_RBI": 0.286,
"predicted_SLG": 0.279,
"predicted_SO": 1.071
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1338,
"predicted_3B": 0.0631,
"predicted_AB": 3.1492,
"predicted_AVG": 0.1897,
"predicted_BB": 0.4669,
"predicted_H": 0.598,
"predicted_HBP": 0.01,
"predicted_HR": 0.0143,
"predicted_OBP": 0.295,
"predicted_R": 0.3638,
"predicted_RBI": 0.2956,
"predicted_SLG": 0.286,
"predicted_SO": 1.0095
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1338,
"delta": -0.0092,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.071,
"after": 0.0631,
"delta": -0.0079,
"percent_delta": -0.1113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.071,
"after": 3.1492,
"delta": 0.0782,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1897,
"delta": 0.0037,
"percent_delta": 0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4669,
"delta": -0.0331,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.571,
"after": 0.598,
"delta": 0.027,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0143,
"delta": 0.0143,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.295,
"delta": -0.005,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.3638,
"delta": 0.0068,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.286,
"after": 0.2956,
"delta": 0.0096,
"percent_delta": 0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.279,
"after": 0.286,
"delta": 0.007,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.071,
"after": 1.0095,
"delta": -0.0615,
"percent_delta": -0.0574,
"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": 3.071,
"after": 3.1492,
"delta": 0.0782,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.071,
"after": 1.0095,
"delta": -0.0615,
"percent_delta": -0.0574,
"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": 14
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1338,
"predicted_3B": 0.0631,
"predicted_AB": 3.1492,
"predicted_AVG": 0.1924,
"predicted_BB": 0.4673,
"predicted_H": 0.6058,
"predicted_HBP": 0.01,
"predicted_HR": 0.0145,
"predicted_OBP": 0.2967,
"predicted_R": 0.3719,
"predicted_RBI": 0.3022,
"predicted_SLG": 0.2888,
"predicted_SO": 1.0087
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1338,
"after": 0.1338,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0631,
"after": 0.0631,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1492,
"after": 3.1492,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1897,
"after": 0.1924,
"delta": 0.0027,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4669,
"after": 0.4673,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.598,
"after": 0.6058,
"delta": 0.0078,
"percent_delta": 0.013,
"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.0143,
"after": 0.0145,
"delta": 0.0002,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2967,
"delta": 0.0017,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3638,
"after": 0.3719,
"delta": 0.0081,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2956,
"after": 0.3022,
"delta": 0.0066,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.2888,
"delta": 0.0028,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0095,
"after": 1.0087,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.15), rates preserved: AVG=0.192 HR/AB=0.005",
"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.1338,
"after": 0.0,
"delta": -0.1338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1492,
"after": 3.0,
"delta": -0.1492,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4673,
"after": 0.0,
"delta": -0.4673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6058,
"after": 1.0,
"delta": 0.3942,
"percent_delta": 0.6507,
"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.0145,
"after": 0.0,
"delta": -0.0145,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3022,
"after": 0.0,
"delta": -0.3022,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0087,
"after": 1.0,
"delta": -0.0087,
"percent_delta": -0.0086,
"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.6058,
"after": 1.0,
"delta": 0.3942,
"percent_delta": 0.6507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4673,
"after": 0.0,
"delta": -0.4673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"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.192,
"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.289,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1924,
"after": 0.192,
"delta": -0.0004,
"percent_delta": -0.0021,
"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.2967,
"after": 0.302,
"delta": 0.0053,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2888,
"after": 0.289,
"delta": 0.0002,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2967,
"after": 0.302,
"delta": 0.0053,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.1924,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2967,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2888,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.192,
"after": 0.1924,
"delta": 0.0004,
"percent_delta": 0.002,
"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.2967,
"delta": -0.0053,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.289,
"after": 0.2888,
"delta": -0.0002,
"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_OBP",
"before": 0.302,
"after": 0.2967,
"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.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.071,
"after": 3.0,
"delta": -0.071,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1924,
"delta": 0.0064,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"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.3,
"after": 0.2967,
"delta": -0.0033,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.279,
"after": 0.2888,
"delta": 0.0098,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.071,
"after": 1.0,
"delta": -0.071,
"percent_delta": -0.0663,
"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.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.071 | - |
| predicted_AB | 3.071 | - |
| predicted_AVG | 0.186 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.571 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.286 | - |
| predicted_SLG | 0.279 | - |
| predicted_SO | 1.071 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.063 | -0.008 |
| predicted_AB | 3.149 | 0.078 |
| predicted_AVG | 0.190 | 0.004 |
| predicted_BB | 0.467 | -0.033 |
| predicted_H | 0.598 | 0.027 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.014 | 0.014 |
| predicted_OBP | 0.295 | -0.005 |
| predicted_R | 0.364 | 0.007 |
| predicted_RBI | 0.296 | 0.010 |
| predicted_SLG | 0.286 | 0.007 |
| predicted_SO | 1.010 | -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.134 | 0.000 |
| predicted_3B | 0.063 | 0.000 |
| predicted_AB | 3.149 | 0.000 |
| predicted_AVG | 0.192 | 0.003 |
| predicted_BB | 0.467 | 0.000 |
| predicted_H | 0.606 | 0.008 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.015 | 0.000 |
| predicted_OBP | 0.297 | 0.002 |
| predicted_R | 0.372 | 0.008 |
| predicted_RBI | 0.302 | 0.007 |
| predicted_SLG | 0.289 | 0.003 |
| predicted_SO | 1.009 | -0.001 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.192 HR/AB=0.005
| 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.134 |
| predicted_3B | 0.000 | -0.063 |
| predicted_AB | 3.000 | -0.149 |
| predicted_AVG | 0.192 | -0.000 |
| predicted_BB | 0.000 | -0.467 |
| predicted_H | 1.000 | 0.394 |
| predicted_HR | 0.000 | -0.015 |
| predicted_OBP | 0.302 | 0.005 |
| predicted_R | 0.000 | -0.372 |
| predicted_RBI | 0.000 | -0.302 |
| predicted_SLG | 0.289 | 0.000 |
| predicted_SO | 1.000 | -0.009 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 0.1429 | 0.2500 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 0.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 9.000 | 0.1333 | 0.2353 | 0.2000 | 0.1333 | 0.0000 | 0.0333 | 0.1333 | 0.3000 |
| season | 0.60 | 14 | - | 43.000 | 8.000 | 2.000 | 1.000 | 0.000 | 4.000 | 5.000 | 7.000 | 15.000 | 0.1860 | 0.2941 | 0.2791 | 0.1860 | 0.0000 | 0.0930 | 0.1628 | 0.3488 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0480 |
| predicted_AB | 3.3000 |
| predicted_AVG | 0.1969 |
| predicted_BB | 0.4030 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0420 |
| predicted_OBP | 0.2854 |
| predicted_R | 0.3770 |
| predicted_RBI | 0.3140 |
| predicted_SLG | 0.2995 |
| predicted_SO | 0.8910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1160 | 0.1338 | model_form_blend |
| predicted_3B | 0.0710 | 0.0480 | 0.0631 | model_form_blend |
| predicted_AB | 3.0710 | 3.3000 | 3.1492 | model_form_blend |
| predicted_AVG | 0.1860 | 0.1969 | 0.1897 | model_form_blend |
| predicted_BB | 0.5000 | 0.4030 | 0.4669 | model_form_blend |
| predicted_H | 0.5710 | 0.6500 | 0.5980 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0000 | 0.0420 | 0.0143 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2854 | 0.2950 | model_form_blend |
| predicted_R | 0.3570 | 0.3770 | 0.3638 | model_form_blend |
| predicted_RBI | 0.2860 | 0.3140 | 0.2956 | model_form_blend |
| predicted_SLG | 0.2790 | 0.2995 | 0.2860 | model_form_blend |
| predicted_SO | 1.0710 | 0.8910 | 1.0095 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 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 | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260901_SEA@BOS |
| game_type | full |
| mlbID | 801126 |
| playerID | 801126 |
| playerName | Brock Rodden |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-01 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.264 |
| sl_xwoba | 0.219 |
| sl_xba | 0.125 |
| sl_xslg | 0.194 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 36.8 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.540 | 3.000 | 5.000 | Hitting_AB | 3.946 | 5.000 | -0.946 | -2.000 |
| predicted_AVG | 0.248 | 0.667 | 0.200 | Hitting_AVG | 0.276 | 0.200 | 0.391 | 0.467 |
| predicted_BB | 0.315 | 1.000 | 0.000 | Hitting_BB | 0.337 | 0.000 | 0.663 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 1.120 | 2.000 | 1.000 | Hitting_H | 1.089 | 1.000 | 0.911 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.286 | 0.750 | 0.200 | Hitting_OBP | 0.339 | 0.200 | 0.411 | 0.550 |
| predicted_R | 0.392 | 1.000 | 0.000 | Hitting_R | 0.416 | 0.000 | 0.584 | 1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.398 | 1.000 | -0.398 | -1.000 |
| predicted_SLG | 0.323 | 0.667 | 0.200 | Hitting_SLG | 0.376 | 0.200 | 0.290 | 0.467 |
| predicted_SO | 0.546 | 0.000 | 0.000 | Hitting_SO | 0.549 | 0.000 | -0.549 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 1.1200 -> 2.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_AB: 4.5400 -> 3.0000 (deboost -1.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 | 3 | 1 | 3 | 1 | predicted_OBP: 0.2860 -> 0.2955 (boost 0.0095, better) | predicted_AB: 4.5400 -> 4.3025 (deboost -0.2375, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2955 -> 0.3025 (boost 0.0070, 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: 4.3025 -> 5.0000 (boost 0.6975, better) | predicted_RBI: 0.3706 -> 0.0000 (deboost -0.3706, worse) | AB rounded to 5 (raw=4.54), rates preserved: AVG=0.242 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4127 -> 0.0000 (deboost -0.4127, 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 | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_AVG: 0.2558 -> 0.2420 (deboost -0.0138, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_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_AVG: 0.2420 -> 0.2558 (boost 0.0138, 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.146,
"predicted_3B": 0.0,
"predicted_AB": 4.54,
"predicted_AVG": 0.248,
"predicted_BB": 0.315,
"predicted_H": 1.12,
"predicted_HR": 0.07,
"predicted_OBP": 0.286,
"predicted_R": 0.392,
"predicted_RBI": 0.4,
"predicted_SLG": 0.323,
"predicted_SO": 0.546
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1473,
"predicted_3B": 0.0004,
"predicted_AB": 4.3025,
"predicted_AVG": 0.2537,
"predicted_BB": 0.2876,
"predicted_H": 1.0865,
"predicted_HBP": 0.024,
"predicted_HR": 0.0622,
"predicted_OBP": 0.2955,
"predicted_R": 0.4037,
"predicted_RBI": 0.3626,
"predicted_SLG": 0.3295,
"predicted_SO": 0.5699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1473,
"delta": 0.0013,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 4.3025,
"delta": -0.2375,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2537,
"delta": 0.0057,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.2876,
"delta": -0.0274,
"percent_delta": -0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0865,
"delta": -0.0335,
"percent_delta": -0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0622,
"delta": -0.0078,
"percent_delta": -0.1114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2955,
"delta": 0.0095,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 0.4037,
"delta": 0.0117,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3626,
"delta": -0.0374,
"percent_delta": -0.0935,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3295,
"delta": 0.0065,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.546,
"after": 0.5699,
"delta": 0.0239,
"percent_delta": 0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2955,
"delta": 0.0095,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 4.3025,
"delta": -0.2375,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 130
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1473,
"predicted_3B": 0.0004,
"predicted_AB": 4.3025,
"predicted_AVG": 0.2558,
"predicted_BB": 0.2878,
"predicted_H": 1.1007,
"predicted_HBP": 0.024,
"predicted_HR": 0.0633,
"predicted_OBP": 0.3025,
"predicted_R": 0.4127,
"predicted_RBI": 0.3706,
"predicted_SLG": 0.3344,
"predicted_SO": 0.5694
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1473,
"after": 0.1473,
"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.3025,
"after": 4.3025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2537,
"after": 0.2558,
"delta": 0.0021,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2876,
"after": 0.2878,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0865,
"after": 1.1007,
"delta": 0.0142,
"percent_delta": 0.0131,
"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.0622,
"after": 0.0633,
"delta": 0.0011,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2955,
"after": 0.3025,
"delta": 0.007,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4037,
"after": 0.4127,
"delta": 0.009,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3626,
"after": 0.3706,
"delta": 0.008,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3295,
"after": 0.3344,
"delta": 0.0049,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5699,
"after": 0.5694,
"delta": -0.0005,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2955,
"after": 0.3025,
"delta": 0.007,
"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 5 (raw=4.54), rates preserved: AVG=0.242 HR/AB=0.014",
"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.1473,
"after": 0.0,
"delta": -0.1473,
"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.3025,
"after": 5.0,
"delta": 0.6975,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2878,
"after": 0.0,
"delta": -0.2878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1007,
"after": 1.0,
"delta": -0.1007,
"percent_delta": -0.0915,
"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.0633,
"after": 0.0,
"delta": -0.0633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3706,
"after": 0.0,
"delta": -0.3706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5694,
"after": 1.0,
"delta": 0.4306,
"percent_delta": 0.7562,
"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.3025,
"after": 5.0,
"delta": 0.6975,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3706,
"after": 0.0,
"delta": -0.3706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4127,
"after": 0.0,
"delta": -0.4127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4127,
"after": 0.0,
"delta": -0.4127,
"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": 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": 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": 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": 5.0,
"predicted_AVG": 0.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.325,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2558,
"after": 0.242,
"delta": -0.0138,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3025,
"after": 0.293,
"delta": -0.0095,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3344,
"after": 0.325,
"delta": -0.0094,
"percent_delta": -0.0281,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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_AVG",
"before": 0.2558,
"after": 0.242,
"delta": -0.0138,
"percent_delta": -0.0539,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2558,
"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.3025,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3344,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2558,
"delta": 0.0138,
"percent_delta": 0.0572,
"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.3025,
"delta": 0.0095,
"percent_delta": 0.0324,
"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.325,
"after": 0.3344,
"delta": 0.0094,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2558,
"delta": 0.0138,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2558,
"delta": 0.0078,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 1.0,
"delta": 0.685,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3025,
"delta": 0.0165,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.392,
"after": 1.0,
"delta": 0.608,
"percent_delta": 1.551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3344,
"delta": 0.0114,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.546,
"after": 0.0,
"delta": -0.546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.12,
"after": 2.0,
"delta": 0.88,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"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.146 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.540 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.392 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.323 | - |
| predicted_SO | 0.546 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.303 | -0.237 |
| predicted_AVG | 0.254 | 0.006 |
| predicted_BB | 0.288 | -0.027 |
| predicted_H | 1.087 | -0.034 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.062 | -0.008 |
| predicted_OBP | 0.295 | 0.010 |
| predicted_R | 0.404 | 0.012 |
| predicted_RBI | 0.363 | -0.037 |
| predicted_SLG | 0.330 | 0.007 |
| predicted_SO | 0.570 | 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.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.303 | 0.000 |
| predicted_AVG | 0.256 | 0.002 |
| predicted_BB | 0.288 | 0.000 |
| predicted_H | 1.101 | 0.014 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.063 | 0.001 |
| predicted_OBP | 0.302 | 0.007 |
| predicted_R | 0.413 | 0.009 |
| predicted_RBI | 0.371 | 0.008 |
| predicted_SLG | 0.334 | 0.005 |
| predicted_SO | 0.569 | -0.000 |
AB rounded to 5 (raw=4.54), rates preserved: AVG=0.242 HR/AB=0.014
| 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 | 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.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.697 |
| predicted_AVG | 0.242 | -0.014 |
| predicted_BB | 0.000 | -0.288 |
| predicted_H | 1.000 | -0.101 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.293 | -0.010 |
| predicted_R | 0.000 | -0.413 |
| predicted_RBI | 0.000 | -0.371 |
| predicted_SLG | 0.325 | -0.009 |
| predicted_SO | 1.000 | 0.431 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 3.000 | 0.2381 | 0.2727 | 0.2857 | 0.2381 | 0.0000 | 0.0476 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 7.000 | 0.2683 | 0.2857 | 0.2927 | 0.2683 | 0.0000 | 0.0488 | 0.0244 | 0.1707 |
| season | 0.60 | 130 | - | 508.000 | 136.000 | 19.000 | 0.000 | 10.000 | 48.000 | 51.000 | 41.000 | 71.000 | 0.2677 | 0.3273 | 0.3642 | 0.2677 | 0.0197 | 0.0945 | 0.0807 | 0.1398 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1490 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9940 |
| predicted_AVG | 0.2612 |
| predicted_BB | 0.2520 |
| predicted_H | 1.0430 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.3079 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.3140 |
| predicted_SLG | 0.3379 |
| predicted_SO | 0.6010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.1490 | 0.1473 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5400 | 3.9940 | 4.3025 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2612 | 0.2537 | model_form_blend |
| predicted_BB | 0.3150 | 0.2520 | 0.2876 | model_form_blend |
| predicted_H | 1.1200 | 1.0430 | 1.0865 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0700 | 0.0520 | 0.0622 | model_form_blend |
| predicted_OBP | 0.2860 | 0.3079 | 0.2955 | model_form_blend |
| predicted_R | 0.3920 | 0.4190 | 0.4037 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3140 | 0.3626 | model_form_blend |
| predicted_SLG | 0.3230 | 0.3379 | 0.3295 | model_form_blend |
| predicted_SO | 0.5460 | 0.6010 | 0.5699 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 517 |
| Season rows before report date | 517 |
| Report year | 2026 |
| Profile rows used | 130 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.307 |
| sl_xwoba | 0.314 |
| sl_xba | 0.27 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 17.7 |
| sl_swing_percent | 51.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.130 | 4.000 | 4.000 | Hitting_AB | 3.757 | 4.000 | 0.243 | 0.000 |
| predicted_AVG | 0.200 | 0.250 | 0.250 | Hitting_AVG | 0.255 | 0.000 | -0.005 | 0.250 |
| predicted_BB | 0.266 | 0.000 | 0.000 | Hitting_BB | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.958 | 0.000 | 0.042 | 1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | 0.881 | 1.000 |
| predicted_OBP | 0.291 | 0.250 | 0.250 | Hitting_OBP | 0.314 | 0.200 | -0.064 | 0.050 |
| predicted_R | 0.475 | 1.000 | 1.000 | Hitting_R | 0.503 | 1.000 | 0.497 | 0.000 |
| predicted_RBI | 0.330 | 4.000 | 0.000 | Hitting_RBI | 0.432 | 0.000 | 3.568 | 4.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_SLG | 0.362 | 1.000 | 0.250 | Hitting_SLG | 0.393 | 0.000 | 0.607 | 1.000 |
| predicted_SO | 0.683 | 1.000 | 1.000 | Hitting_SO | 0.683 | 1.000 | 0.317 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.3300 -> 4.0000 (boost 3.6700, better) |
| Biggest Deboost | predicted_BB: 0.2660 -> 0.0000 (deboost -0.2660, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1300 -> 3.9094 (deboost -0.2206, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2914 -> 0.2577 (deboost -0.0337, 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.6981 -> 1.0000 (boost 0.3019, worse) | predicted_RBI: 0.3120 -> 0.0000 (deboost -0.3120, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.190 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5175 -> 1.0000 (boost 0.4825, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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.3205 -> 0.3030 (deboost -0.0175, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3030 -> 0.3205 (boost 0.0175, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702284",
"player_name": "Cole Young",
"position": "2B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.022,
"predicted_AB": 4.13,
"predicted_AVG": 0.2,
"predicted_BB": 0.266,
"predicted_H": 0.83,
"predicted_HR": 0.12,
"predicted_OBP": 0.291,
"predicted_R": 0.475,
"predicted_RBI": 0.33,
"predicted_SLG": 0.362,
"predicted_SO": 0.683
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.0181,
"predicted_AB": 3.9094,
"predicted_AVG": 0.1976,
"predicted_BB": 0.2982,
"predicted_H": 0.7756,
"predicted_HBP": 0.164,
"predicted_HR": 0.1069,
"predicted_OBP": 0.2914,
"predicted_R": 0.5063,
"predicted_RBI": 0.3052,
"predicted_SLG": 0.3357,
"predicted_SO": 0.6987
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.105,
"delta": -0.01,
"percent_delta": -0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0181,
"delta": -0.0039,
"percent_delta": -0.1773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 3.9094,
"delta": -0.2206,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1976,
"delta": -0.0024,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.2982,
"delta": 0.0322,
"percent_delta": 0.1211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.7756,
"delta": -0.0544,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1069,
"delta": -0.0131,
"percent_delta": -0.1092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2914,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 0.5063,
"delta": 0.0313,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3052,
"delta": -0.0248,
"percent_delta": -0.0752,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3357,
"delta": -0.0263,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.683,
"after": 0.6987,
"delta": 0.0157,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.13,
"after": 3.9094,
"delta": -0.2206,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 139
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.0181,
"predicted_AB": 3.9094,
"predicted_AVG": 0.201,
"predicted_BB": 0.2984,
"predicted_H": 0.7858,
"predicted_HBP": 0.164,
"predicted_HR": 0.1087,
"predicted_OBP": 0.2577,
"predicted_R": 0.5175,
"predicted_RBI": 0.312,
"predicted_SLG": 0.3205,
"predicted_SO": 0.6981
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9094,
"after": 3.9094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1976,
"after": 0.201,
"delta": 0.0034,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2982,
"after": 0.2984,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7756,
"after": 0.7858,
"delta": 0.0102,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.164,
"after": 0.164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1069,
"after": 0.1087,
"delta": 0.0018,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.2577,
"delta": -0.0337,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5063,
"after": 0.5175,
"delta": 0.0112,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3052,
"after": 0.312,
"delta": 0.0068,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3357,
"after": 0.3205,
"delta": -0.0152,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6987,
"after": 0.6981,
"delta": -0.0006,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.2577,
"delta": -0.0337,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.190 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0181,
"after": 0.0,
"delta": -0.0181,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9094,
"after": 4.0,
"delta": 0.0906,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2984,
"after": 0.0,
"delta": -0.2984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7858,
"after": 1.0,
"delta": 0.2142,
"percent_delta": 0.2726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1087,
"after": 0.0,
"delta": -0.1087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6981,
"after": 1.0,
"delta": 0.3019,
"percent_delta": 0.4325,
"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.6981,
"after": 1.0,
"delta": 0.3019,
"percent_delta": 0.4325,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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": 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.19,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.251,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.303,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.19,
"delta": -0.011,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2577,
"after": 0.251,
"delta": -0.0067,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3205,
"after": 0.303,
"delta": -0.0175,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3205,
"after": 0.303,
"delta": -0.0175,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"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": 4.0,
"predicted_AVG": 0.201,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2577,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3205,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.19,
"after": 0.201,
"delta": 0.011,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.251,
"after": 0.2577,
"delta": 0.0067,
"percent_delta": 0.0265,
"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": 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.303,
"after": 0.3205,
"delta": 0.0175,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.303,
"after": 0.3205,
"delta": 0.0175,
"percent_delta": 0.0579,
"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.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.201,
"delta": 0.001,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"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.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2577,
"delta": -0.0333,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.475,
"after": 1.0,
"delta": 0.525,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 4.0,
"delta": 3.67,
"percent_delta": 11.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3205,
"delta": -0.0415,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.683,
"after": 1.0,
"delta": 0.317,
"percent_delta": 0.4641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.33,
"after": 4.0,
"delta": 3.67,
"percent_delta": 11.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.115 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.200 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.475 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.683 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | -0.010 |
| predicted_3B | 0.018 | -0.004 |
| predicted_AB | 3.909 | -0.221 |
| predicted_AVG | 0.198 | -0.002 |
| predicted_BB | 0.298 | 0.032 |
| predicted_H | 0.776 | -0.054 |
| predicted_HBP | 0.164 | - |
| predicted_HR | 0.107 | -0.013 |
| predicted_OBP | 0.291 | 0.000 |
| predicted_R | 0.506 | 0.031 |
| predicted_RBI | 0.305 | -0.025 |
| predicted_SLG | 0.336 | -0.026 |
| predicted_SO | 0.699 | 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.105 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.909 | 0.000 |
| predicted_AVG | 0.201 | 0.003 |
| predicted_BB | 0.298 | 0.000 |
| predicted_H | 0.786 | 0.010 |
| predicted_HBP | 0.164 | 0.000 |
| predicted_HR | 0.109 | 0.002 |
| predicted_OBP | 0.258 | -0.034 |
| predicted_R | 0.517 | 0.011 |
| predicted_RBI | 0.312 | 0.007 |
| predicted_SLG | 0.321 | -0.015 |
| predicted_SO | 0.698 | -0.001 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.190 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.105 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 4.000 | 0.091 |
| predicted_AVG | 0.190 | -0.011 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.251 | -0.007 |
| predicted_R | 1.000 | 0.483 |
| predicted_RBI | 0.000 | -0.312 |
| predicted_SLG | 0.303 | -0.018 |
| predicted_SO | 1.000 | 0.302 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 4.000 | 4.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 4.000 | 0.1176 | 0.3182 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.1765 | 0.2353 |
| last_10 | 0.20 | 10 | - | 37.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 5.000 | 3.000 | 7.000 | 0.1081 | 0.2143 | 0.2162 | 0.1081 | 0.0270 | 0.0270 | 0.0811 | 0.1892 |
| season | 0.60 | 139 | - | 508.000 | 124.000 | 16.000 | 3.000 | 16.000 | 57.000 | 66.000 | 37.000 | 95.000 | 0.2441 | 0.3077 | 0.3819 | 0.2441 | 0.0315 | 0.1122 | 0.0728 | 0.1870 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.6230 |
| predicted_AVG | 0.1945 |
| predicted_BB | 0.3400 |
| predicted_H | 0.7050 |
| predicted_HBP | 0.1640 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2919 |
| predicted_R | 0.5470 |
| predicted_RBI | 0.2730 |
| predicted_SLG | 0.3016 |
| predicted_SO | 0.7190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.0920 | 0.1050 | model_form_blend |
| predicted_3B | 0.0220 | 0.0130 | 0.0181 | model_form_blend |
| predicted_AB | 4.1300 | 3.6230 | 3.9094 | model_form_blend |
| predicted_AVG | 0.2000 | 0.1945 | 0.1976 | model_form_blend |
| predicted_BB | 0.2660 | 0.3400 | 0.2982 | model_form_blend |
| predicted_H | 0.8300 | 0.7050 | 0.7756 | model_form_blend |
| predicted_HBP | - | 0.1640 | 0.1640 | form_only |
| predicted_HR | 0.1200 | 0.0900 | 0.1069 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2919 | 0.2914 | model_form_blend |
| predicted_R | 0.4750 | 0.5470 | 0.5063 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2730 | 0.3052 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3016 | 0.3357 | model_form_blend |
| predicted_SO | 0.6830 | 0.7190 | 0.6987 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 523 |
| Season rows before report date | 523 |
| Report year | 2026 |
| Profile rows used | 139 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.306 |
| sl_xwoba | 0.316 |
| sl_xba | 0.262 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 48.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 0.000 | 0.000 | Hitting_2B | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.521 | 3.000 | 4.000 | Hitting_AB | 3.700 | 3.000 | -0.700 | 0.000 |
| predicted_AVG | 0.308 | 0.000 | 0.250 | Hitting_AVG | 0.222 | 1.000 | -0.222 | -1.000 |
| predicted_BB | 0.574 | 1.000 | 1.000 | Hitting_BB | 0.625 | 1.000 | 0.375 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 1.070 | 0.000 | 1.000 | Hitting_H | 0.823 | 3.000 | -0.823 | -3.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.399 | 0.250 | 0.400 | Hitting_OBP | 0.340 | 1.000 | -0.090 | -0.750 |
| predicted_R | 0.447 | 0.000 | 1.000 | Hitting_R | 0.485 | 2.000 | -0.485 | -2.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_SLG | 0.421 | 0.000 | 0.250 | Hitting_SLG | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_SO | 0.872 | 0.000 | 1.000 | Hitting_SO | 0.895 | 0.000 | -0.895 | 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.5740 -> 1.0000 (boost 0.4260, better) |
| Biggest Deboost | predicted_H: 1.0700 -> 0.0000 (deboost -1.0700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.5210 -> 3.4545 (deboost -0.0665, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4015 -> 0.3945 (deboost -0.0070, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.4545 -> 4.0000 (boost 0.5455, better) | predicted_RBI: 0.3364 -> 0.0000 (deboost -0.3364, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.290 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4692 -> 0.0000 (deboost -0.4692, 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 | 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 |
| 8 | 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 |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2900 -> 0.2957 (boost 0.0057, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641487",
"player_name": "J.P. Crawford",
"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.128,
"predicted_3B": 0.0,
"predicted_AB": 3.521,
"predicted_AVG": 0.308,
"predicted_BB": 0.574,
"predicted_H": 1.07,
"predicted_HR": 0.07,
"predicted_OBP": 0.399,
"predicted_R": 0.447,
"predicted_RBI": 0.36,
"predicted_SLG": 0.421,
"predicted_SO": 0.872
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1336,
"predicted_3B": 0.0004,
"predicted_AB": 3.4545,
"predicted_AVG": 0.2939,
"predicted_BB": 0.5547,
"predicted_H": 1.0082,
"predicted_HBP": 0.098,
"predicted_HR": 0.0679,
"predicted_OBP": 0.389,
"predicted_R": 0.459,
"predicted_RBI": 0.3291,
"predicted_SLG": 0.4015,
"predicted_SO": 0.8604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1336,
"delta": 0.0056,
"percent_delta": 0.0437,
"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.521,
"after": 3.4545,
"delta": -0.0665,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.2939,
"delta": -0.0141,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.5547,
"delta": -0.0193,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0082,
"delta": -0.0618,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0679,
"delta": -0.0021,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.399,
"after": 0.389,
"delta": -0.01,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.459,
"delta": 0.012,
"percent_delta": 0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3291,
"delta": -0.0309,
"percent_delta": -0.0858,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4015,
"delta": -0.0195,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.8604,
"delta": -0.0116,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.521,
"after": 3.4545,
"delta": -0.0665,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 94
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1336,
"predicted_3B": 0.0004,
"predicted_AB": 3.4545,
"predicted_AVG": 0.2957,
"predicted_BB": 0.5551,
"predicted_H": 1.0214,
"predicted_HBP": 0.098,
"predicted_HR": 0.0691,
"predicted_OBP": 0.3932,
"predicted_R": 0.4692,
"predicted_RBI": 0.3364,
"predicted_SLG": 0.3945,
"predicted_SO": 0.8597
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1336,
"after": 0.1336,
"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.4545,
"after": 3.4545,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2939,
"after": 0.2957,
"delta": 0.0018,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5547,
"after": 0.5551,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0082,
"after": 1.0214,
"delta": 0.0132,
"percent_delta": 0.0131,
"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.0679,
"after": 0.0691,
"delta": 0.0012,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.3932,
"delta": 0.0042,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.4692,
"delta": 0.0102,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3291,
"after": 0.3364,
"delta": 0.0073,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4015,
"after": 0.3945,
"delta": -0.007,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8604,
"after": 0.8597,
"delta": -0.0007,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4015,
"after": 0.3945,
"delta": -0.007,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.52), rates preserved: AVG=0.290 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1336,
"after": 0.0,
"delta": -0.1336,
"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.4545,
"after": 4.0,
"delta": 0.5455,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5551,
"after": 1.0,
"delta": 0.4449,
"percent_delta": 0.8015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0214,
"after": 1.0,
"delta": -0.0214,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0691,
"after": 0.0,
"delta": -0.0691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3364,
"after": 0.0,
"delta": -0.3364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8597,
"after": 1.0,
"delta": 0.1403,
"percent_delta": 0.1632,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4545,
"after": 4.0,
"delta": 0.5455,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3364,
"after": 0.0,
"delta": -0.3364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4692,
"after": 0.0,
"delta": -0.4692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4692,
"after": 0.0,
"delta": -0.4692,
"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.29,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.391,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2957,
"after": 0.29,
"delta": -0.0057,
"percent_delta": -0.0193,
"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.3932,
"after": 0.391,
"delta": -0.0022,
"percent_delta": -0.0056,
"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.3945,
"after": 0.395,
"delta": 0.0005,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2957,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3932,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3945,
"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.29,
"after": 0.2957,
"delta": 0.0057,
"percent_delta": 0.0196,
"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.391,
"after": 0.3932,
"delta": 0.0022,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3945,
"delta": -0.0005,
"percent_delta": -0.0011,
"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.29,
"after": 0.2957,
"delta": 0.0057,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.521,
"after": 3.0,
"delta": -0.521,
"percent_delta": -0.148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.2957,
"delta": -0.0123,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.399,
"after": 0.3932,
"delta": -0.0058,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.3945,
"delta": -0.0265,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.0,
"delta": -0.872,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.521 | - |
| predicted_AVG | 0.308 | - |
| predicted_BB | 0.574 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.399 | - |
| predicted_R | 0.447 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 0.872 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.454 | -0.067 |
| predicted_AVG | 0.294 | -0.014 |
| predicted_BB | 0.555 | -0.019 |
| predicted_H | 1.008 | -0.062 |
| predicted_HBP | 0.098 | - |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.389 | -0.010 |
| predicted_R | 0.459 | 0.012 |
| predicted_RBI | 0.329 | -0.031 |
| predicted_SLG | 0.402 | -0.019 |
| predicted_SO | 0.860 | -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.134 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.454 | 0.000 |
| predicted_AVG | 0.296 | 0.002 |
| predicted_BB | 0.555 | 0.000 |
| predicted_H | 1.021 | 0.013 |
| predicted_HBP | 0.098 | 0.000 |
| predicted_HR | 0.069 | 0.001 |
| predicted_OBP | 0.393 | 0.004 |
| predicted_R | 0.469 | 0.010 |
| predicted_RBI | 0.336 | 0.007 |
| predicted_SLG | 0.395 | -0.007 |
| predicted_SO | 0.860 | -0.001 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.290 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.134 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.546 |
| predicted_AVG | 0.290 | -0.006 |
| predicted_BB | 1.000 | 0.445 |
| predicted_H | 1.000 | -0.021 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.391 | -0.002 |
| predicted_R | 0.000 | -0.469 |
| predicted_RBI | 0.000 | -0.336 |
| predicted_SLG | 0.395 | 0.001 |
| predicted_SO | 1.000 | 0.140 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 0.4667 | 0.5500 | 0.5333 | 0.4667 | 0.0000 | 0.0667 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 10.000 | 0.2581 | 0.3421 | 0.2903 | 0.2581 | 0.0000 | 0.0645 | 0.1290 | 0.3226 |
| season | 0.60 | 94 | - | 331.000 | 73.000 | 12.000 | 0.000 | 10.000 | 31.000 | 42.000 | 54.000 | 82.000 | 0.2205 | 0.3376 | 0.3474 | 0.2205 | 0.0302 | 0.0937 | 0.1631 | 0.2477 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3660 |
| predicted_AVG | 0.2752 |
| predicted_BB | 0.5290 |
| predicted_H | 0.9260 |
| predicted_HBP | 0.0980 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.3756 |
| predicted_R | 0.4750 |
| predicted_RBI | 0.2880 |
| predicted_SLG | 0.3756 |
| predicted_SO | 0.8450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1410 | 0.1336 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5210 | 3.3660 | 3.4545 | model_form_blend |
| predicted_AVG | 0.3080 | 0.2752 | 0.2939 | model_form_blend |
| predicted_BB | 0.5740 | 0.5290 | 0.5547 | model_form_blend |
| predicted_H | 1.0700 | 0.9260 | 1.0082 | model_form_blend |
| predicted_HBP | - | 0.0980 | 0.0980 | form_only |
| predicted_HR | 0.0700 | 0.0650 | 0.0679 | model_form_blend |
| predicted_OBP | 0.3990 | 0.3756 | 0.3890 | model_form_blend |
| predicted_R | 0.4470 | 0.4750 | 0.4590 | model_form_blend |
| predicted_RBI | 0.3600 | 0.2880 | 0.3291 | model_form_blend |
| predicted_SLG | 0.4210 | 0.3756 | 0.4015 | model_form_blend |
| predicted_SO | 0.8720 | 0.8450 | 0.8604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 641487 |
| playerID | 641487 |
| playerName | J.P. Crawford |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.313 |
| sl_xwoba | 0.322 |
| sl_xba | 0.238 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 17.7 |
| sl_swing_percent | 38.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.500 | 3.000 | -2.500 | -3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.500 | 2.000 | 0.500 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.000 | 3.000 | 1.000 | 2.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.650 | 4.100 | -0.550 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.000 | 3.000 | 0.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "807739",
"player_name": "Kade Anderson",
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 4.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 10.000 | 5.000 | 8.000 | 5.000 | 8.000 | 2.000 | 4.5000 | 1.3000 | 0.5000 | 0.8000 | 0.5000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 2 | 10.000 | 5.000 | 8.000 | 5.000 | 8.000 | 2.000 | 4.5000 | 1.3000 | 0.5000 | 0.8000 | 0.5000 | 0.8000 | 0.2000 |
| season | 0.20 | 2 | 10.000 | 5.000 | 8.000 | 5.000 | 8.000 | 2.000 | 4.5000 | 1.3000 | 0.5000 | 0.8000 | 0.5000 | 0.8000 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8440 |
| predicted_ER | 2.2540 |
| predicted_ERA | 4.4844 |
| predicted_H | 4.1780 |
| predicted_HR | 0.7320 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.0680 |
| predicted_WHIP | 1.3311 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.8440 | 0.6421 | model_form_blend |
| predicted_ER | 3.0000 | 2.2540 | 2.7402 | model_form_blend |
| predicted_ERA | - | 4.4844 | 4.4844 | form_only |
| predicted_H | 5.0000 | 4.1780 | 4.7138 | model_form_blend |
| predicted_HR | 2.0000 | 0.7320 | 1.5585 | model_form_blend |
| predicted_IP | 4.1000 | 4.2000 | 4.1000 | model_form_blend |
| predicted_SO | 4.0000 | 4.0680 | 4.0237 | model_form_blend |
| predicted_WHIP | - | 1.3311 | 1.3311 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 4 |
| HR | 2 |
| BF | 18 |
| Pitches | 82 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 19 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 3 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 85 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 54 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_SEA@TOR |
| game_type | full |
| mlbID | 807739 |
| playerID | 807739 |
| playerName | Kade Anderson |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-29 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.334 |
| sl_xwoba | 0.235 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 32.1 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 51.2 |
| sl_avg_best_speed | 76.617869286 |
| sl_avg_hyper_speed | 91.781388148 |
| 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.377 | 0.000 | -0.377 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.755 | 0.000 | -0.755 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.892 | 0.200 | 0.208 | 0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.528 | 1.000 | 0.472 | 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": "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": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 2.000 | 2.000 | 9.000 | 1.000 | 3.6000 | 0.8000 | 0.4000 | 0.4000 | 0.4000 | 1.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 6.000 | 6.000 | 3.000 | 18.000 | 2.000 | 5.5862 | 0.9310 | 0.6207 | 0.6207 | 0.3103 | 1.8621 | 0.2069 |
| season | 0.20 | 52 | 50.100 | 22.000 | 39.000 | 19.000 | 81.000 | 7.000 | 3.9338 | 1.1523 | 0.4371 | 0.7748 | 0.3775 | 1.6093 | 0.1391 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3660 |
| predicted_ER | 0.4890 |
| predicted_ERA | 4.4004 |
| predicted_H | 0.6910 |
| predicted_HR | 0.1760 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.5040 |
| predicted_WHIP | 1.0577 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3660 | 0.1867 | model_form_blend |
| predicted_ER | 0.0000 | 0.4890 | 0.2495 | model_form_blend |
| predicted_ERA | - | 4.4004 | 4.4004 | form_only |
| predicted_H | 0.0000 | 0.6910 | 0.3526 | model_form_blend |
| predicted_HR | 0.0000 | 0.1760 | 0.0898 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.5040 | 1.7469 | model_form_blend |
| predicted_WHIP | - | 1.0577 | 1.0577 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.29 |
| 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 | 0.2 |
| Pitching_Pitches | 4 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260901_SEA@BOS |
| 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-09-01 |
| sl_k_percent | 38.4 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.287 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 42.2 |
| sl_whiff_percent | 41.0 |
| sl_swing_percent | 47.1 |
| sl_avg_best_speed | 76.458736852 |
| sl_avg_hyper_speed | 94.703645327 |
| 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.308 | 0.000 | 0.692 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.338 | 2.000 | -0.338 | -2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.969 | 3.000 | 1.031 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.788 | 0.100 | 0.212 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.938 | 0.000 | 0.062 | 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": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 3.000 | 7.000 | 4.000 | 4.000 | 1.000 | 6.7500 | 2.7500 | 0.7500 | 1.7500 | 1.0000 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 11.000 | 6.000 | 10.000 | 1.000 | 2.7931 | 1.7586 | 0.3103 | 1.1379 | 0.6207 | 1.0345 | 0.1035 |
| season | 0.20 | 65 | 61.000 | 22.000 | 63.000 | 20.000 | 61.000 | 9.000 | 3.2459 | 1.3607 | 0.3607 | 1.0328 | 0.3279 | 1.0000 | 0.1475 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5610 |
| predicted_ER | 0.4580 |
| predicted_ERA | 4.6104 |
| predicted_H | 1.1350 |
| predicted_HR | 0.1510 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8850 |
| predicted_WHIP | 1.8987 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5610 | 0.7684 | model_form_blend |
| predicted_ER | 0.0000 | 0.4580 | 0.2416 | model_form_blend |
| predicted_ERA | - | 4.6104 | 4.6104 | form_only |
| predicted_H | 2.0000 | 1.1350 | 1.5436 | model_form_blend |
| predicted_HR | 0.0000 | 0.1510 | 0.0797 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8850 | 0.9393 | model_form_blend |
| predicted_WHIP | - | 1.8987 | 1.8987 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 13 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260831_SEA@BOS |
| game_type | full |
| mlbID | 660825 |
| playerID | 660825 |
| playerName | Eduard Bazardo |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-31 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.327 |
| sl_xwoba | 0.324 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 38.3 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 45.5 |
| sl_avg_best_speed | 78.772109659 |
| sl_avg_hyper_speed | 94.116465398 |
| 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.311 | 1.000 | 0.689 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.707 | 1.100 | 0.493 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.733 | 1.000 | -0.733 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642100",
"player_name": "Gabe Speier",
"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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 1.000 | 2.000 | 1.000 | 4.000 | 1.000 | 1.5882 | 0.5294 | 0.1765 | 0.3529 | 0.1765 | 0.7059 | 0.1765 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 7.000 | 3.000 | 7.000 | 1.000 | 5.0000 | 1.1111 | 0.5556 | 0.7778 | 0.3333 | 0.7778 | 0.1111 |
| season | 0.20 | 45 | 38.100 | 11.000 | 28.000 | 14.000 | 33.000 | 4.000 | 2.5826 | 1.0957 | 0.2870 | 0.7304 | 0.3652 | 0.8609 | 0.1043 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3090 |
| predicted_ER | 0.3970 |
| predicted_ERA | 3.5704 |
| predicted_H | 0.7330 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8320 |
| predicted_WHIP | 1.0420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3090 | 0.6658 | model_form_blend |
| predicted_ER | 0.0000 | 0.3970 | 0.1920 | model_form_blend |
| predicted_ERA | - | 3.5704 | 3.5704 | form_only |
| predicted_H | 0.0000 | 0.7330 | 0.3546 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0687 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8320 | 0.4024 | model_form_blend |
| predicted_WHIP | - | 1.0420 | 1.0420 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 45 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.58 |
| 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.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260831_SEA@BOS |
| game_type | full |
| mlbID | 642100 |
| playerID | 642100 |
| playerName | Gabe Speier |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-31 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.285 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 26.2 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 36.4 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 75.86818 |
| sl_avg_hyper_speed | 93.994513942 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 0.250 | 0.000 | 3.750 | 4.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.016 | 1.000 | -1.016 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.786 | 0.100 | -0.586 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.703 | 0.000 | 0.297 | 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": "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": 4.0,
"predicted_ER": 1.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": 4.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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": 4.0,
"after": 4.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 4.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 2.000 | 6.000 | 2.000 | 1.000 | 0.000 | 4.9091 | 2.1818 | 0.5454 | 1.6364 | 0.5454 | 0.2727 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 12.000 | 2.000 | 4.000 | 1.000 | 5.0000 | 1.5556 | 0.5556 | 1.3333 | 0.2222 | 0.4444 | 0.1111 |
| season | 0.20 | 63 | 58.000 | 24.000 | 64.000 | 16.000 | 45.000 | 6.000 | 3.7241 | 1.3793 | 0.4138 | 1.1035 | 0.2759 | 0.7759 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2990 |
| predicted_ER | 0.4100 |
| predicted_ERA | 4.6362 |
| predicted_H | 1.0240 |
| predicted_HR | 0.0680 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4650 |
| predicted_WHIP | 1.6645 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 0.2990 | 2.0638 | model_form_blend |
| predicted_ER | 1.0000 | 0.4100 | 0.6913 | model_form_blend |
| predicted_ERA | - | 4.6362 | 4.6362 | form_only |
| predicted_H | 0.0000 | 1.0240 | 0.5357 | model_form_blend |
| predicted_HR | 0.0000 | 0.0680 | 0.0356 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.4650 | 0.7201 | model_form_blend |
| predicted_WHIP | - | 1.6645 | 1.6645 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 63 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 4 |
| 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 | 3.72 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260902_SEA@BOS |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.328 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 18.5 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 74.640749892 |
| sl_avg_hyper_speed | 93.427326452 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SF 5 - 6 PIT | PIT | 0.530 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SF 5 - 6 PIT | PIT | - | 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.5457; empirical=0.5332; weight=0.5000; final=0.5395 |
| P1 | H2H margin as base feature | available | home net=6; abs=6; home delta=0.0346; away delta=-0.0346 |
| 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.7929; recent edge=-0.3680; 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.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | 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.422 | 6.086 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 6 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 6 | 0.5300 | 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 | 5 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 6 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 6 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5689097426751594,
"base_low_score_probability": 0.4299363057324841,
"low_score_signal_threshold": 0.509936305732484,
"low_score_signal_strength": 0.13897343694267528,
"confidence": 0.7616209600000001,
"factors": {
"environmental": 1.1566800000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.3232419200000003
},
"prediction": "low_scoring",
"expected_total_runs": 11,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.8,
"low_score_model_expected_total_runs": 6.8,
"final_simulation_total_runs": 11,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 377,
"near_bucket_sample_size": 377,
"medium_bucket_sample_size": 512,
"wide_bucket_sample_size": 577,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5332,
"bayesian_hit_rate": 0.5316,
"prior_strength": 18.0,
"raw_pick_probability": 0.5085,
"raw_pick_probability_unclamped": 0.5085,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5085,
"margin_implied_pick_probability": 0.5085,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5085,
"score_implied_floor_pick_probability": 0.5082,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.5085,
"uncapped_away_win_probability": 0.4915,
"calibrated_pick_probability": 0.5082,
"predicted_side": "home",
"reliability": 0.95443,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.97038
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.545736,
"sample_size": 377,
"empirical_hit_rate": 0.5332,
"empirical_weight": 0.5,
"blended_confidence": 0.539468,
"published_confidence": 0.53,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 6.0,
"absolute_net_margin": 6.0,
"home_average_margin": 1.2,
"home_run_delta": 0.0346,
"away_run_delta": -0.0346,
"evidence": [
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 10.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": false,
"home": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857142857142857,
"runs_scored": 686,
"runs_allowed": 660,
"run_differential": 26,
"run_differential_per_game": 0.18571428571428572,
"available": true
},
"away": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4142857142857143,
"runs_scored": 584,
"runs_allowed": 654,
"run_differential": -70,
"run_differential_per_game": -0.5,
"available": true
},
"run_differential_edge_per_game": 0.6857,
"win_pct_edge": 0.0714,
"quality_edge": 0.3866,
"season_quality_edge": 0.7929,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.7929,
"recent_quality_edge": -0.368,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.3866
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.020147338760299952
},
{
"home_runs": 6,
"away_runs": 5,
"probability": 0.019250620856780924
},
{
"home_runs": 5,
"away_runs": 6,
"probability": 0.019002153255212584
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.0189302144560362
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.018730070592930716
}
],
"home_distribution": {
"0": 0.029974937146815754,
"1": 0.05178946762385955,
"2": 0.07948284237396337,
"3": 0.10835628567336764,
"4": 0.13121503687548505,
"5": 0.141143824592601,
"6": 0.13486179419696723,
"7": 0.11446290459340484,
"8": 0.08629574226574059,
"9": 0.05779133836783208,
"10": 0.03437834084562707,
"11": 0.018165855330130667,
"12": 0.008526593653708083,
"13": 0.0035550364604968808
},
"away_distribution": {
"0": 0.031223009565874427,
"1": 0.053882163508622564,
"2": 0.08240209656743477,
"3": 0.11167461674784873,
"4": 0.13412003331124522,
"5": 0.14274332453760155,
"6": 0.13462971766607995,
"7": 0.11252500360356228,
"8": 0.08334510707440496,
"9": 0.054705898463765654,
"10": 0.031820805875320775,
"11": 0.016402542286615356,
"12": 0.007492627308427081,
"13": 0.0030330534831965517
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head is split and volatile",
"recent head-to-head margin does not support a strong repeat pick",
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
],
"signals": {
"predicted_team": "PIT",
"opponent_team": "SF",
"h2h_net_margin": -1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 4,
"opponent_runs": 5,
"margin_for_predicted_team": -1,
"winner": "SF"
},
{
"date": "2026-09-01",
"predicted_team_runs": 13,
"opponent_runs": 12,
"margin_for_predicted_team": 1,
"winner": "PIT"
},
{
"date": "2026-05-10",
"predicted_team_runs": 6,
"opponent_runs": 7,
"margin_for_predicted_team": -1,
"winner": "SF"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260902",
"away": "SF",
"home": "PIT",
"game_number": 1,
"predicted_team": "PIT",
"actual_winner": "SF",
"actual_margin": 1,
"raw_pick_probability": 0.54559,
"artifact": "20260902_SF@PIT.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "SF",
"home": "PIT",
"game_number": 1,
"predicted_team": "PIT",
"actual_winner": "PIT",
"actual_margin": 1,
"raw_pick_probability": 0.544522,
"artifact": "20260901_SF@PIT.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "PIT",
"guardrail_opponent_team": "SF",
"output_pre_simulation_winner": "PIT",
"output_opponent_team": "SF",
"simulation_score_winner": "PIT",
"final_score_winner": "PIT",
"pre_simulation_winner": "PIT",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"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.0199,
"recent_form_edge_home_minus_away": -0.438,
"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": 5,
"home_runs": 6,
"winner": "PIT",
"model_winner": "PIT",
"simulation_winner": "PIT",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "PIT",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "PIT",
"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": 5,
"home_runs": 6
},
"simulation_score": {
"away_runs": 5,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3866,
"winner": "PIT",
"score_reviewed": {
"away_runs": 5,
"home_runs": 6,
"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": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857142857142857,
"runs_scored": 686,
"runs_allowed": 660,
"run_differential": 26,
"run_differential_per_game": 0.18571428571428572,
"available": true
},
"away": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4142857142857143,
"runs_scored": 584,
"runs_allowed": 654,
"run_differential": -70,
"run_differential_per_game": -0.5,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.3866,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.53,
"final_confidence": 0.5082,
"calibrated_pick_probability": 0.5082,
"shrinkage_weight": 0.97038,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 377,
"calibration_empirical_hit_rate": 0.5332,
"calibration_bayesian_hit_rate": 0.5316,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.3866,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 6
},
"margin": 1,
"probability_before": 0.508248,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.97038,
"side_flipped": false,
"applied": true,
"probability_after": 0.546624,
"aligned_pick_probability": 0.546624
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"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.0199,
"recent_form_edge_home_minus_away": -0.438,
"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": 5,
"home_runs": 6,
"winner": "PIT",
"model_winner": "PIT",
"simulation_winner": "PIT",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "PIT",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "PIT",
"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": 5,
"home_runs": 6
},
"simulation_score": {
"away_runs": 5,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3866,
"winner": "PIT",
"score_reviewed": {
"away_runs": 5,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 6,
"confidence": 0.53,
"home_win_probability": 0.53,
"away_win_probability": 0.47,
"predicted_score_text": "SF 5 - 6 PIT",
"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": "SF",
"original_runs": 5,
"run_delta": -0.2543,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 29.0,
"quality": 0.13459691432867815,
"contact": -0.3313199545307255,
"power": 0.005354821488843437,
"discipline": -0.14812628102512376,
"xwoba": 0.2983103448275862,
"recent_xwoba": 0.2983103448275862,
"barrel": 8.472413793103447,
"ab_hard_contact": -0.32506777383561536,
"ab_bat_speed": 68.44492294260752,
"ab_strikeout_rate": 0.27407961983191087,
"available_players": 9,
"top_players": [
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"weight": 4.0,
"quality": 0.8471102844212616,
"contact": 0.8708390169466378,
"power": 1.1368124150589762,
"discipline": 0.29506204026326,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 11.8,
"ab_hard_contact": 0.3225340154652416,
"ab_bat_speed": 72.6358899535424,
"ab_strikeout_rate": 0.2808943089430894,
"available": 1.0
},
{
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"weight": 4.0,
"quality": 0.6087588748585796,
"contact": 0.5136018789252612,
"power": 1.093525567881737,
"discipline": 0.002353814644137378,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 11.6,
"ab_hard_contact": 0.19317802430139108,
"ab_bat_speed": 70.734690828213,
"ab_strikeout_rate": 0.2735311059907834,
"available": 1.0
},
{
"player_id": "683766",
"player_name": "Christian Koss",
"position": "SS",
"weight": 3.0,
"quality": -0.4398166219744771,
"contact": -1.4133532348923081,
"power": -1.02849143363148,
"discipline": -0.9451309523809525,
"xwoba": 0.234,
"recent_xwoba": 0.234,
"barrel": 5.2,
"ab_hard_contact": -0.6681143869153264,
"ab_bat_speed": 67.56420740740741,
"ab_strikeout_rate": 0.2694444444444445,
"available": 1.0
},
{
"player_id": "801501",
"player_name": "Nate Furman",
"position": "2B",
"weight": 3.0,
"quality": -0.04372875653486472,
"contact": -1.622650555276603,
"power": -1.9655214487595276,
"discipline": 0.6670753968253967,
"xwoba": 0.244,
"recent_xwoba": 0.244,
"barrel": 0.0,
"ab_hard_contact": -1.72280992757151,
"ab_bat_speed": 64.99666666666667,
"ab_strikeout_rate": 0.06666666666666667,
"available": 1.0
},
{
"player_id": "813841",
"player_name": "Jonah Cox",
"position": "CF",
"weight": 3.0,
"quality": -0.06738734628775259,
"contact": -0.7091288962679703,
"power": 0.578402728425456,
"discipline": -1.5664999999999998,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 12.8,
"ab_hard_contact": -0.47042162196707465,
"ab_bat_speed": 64.46103395061728,
"ab_strikeout_rate": 0.5324074074074074,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669199",
"player_name": "Lake Bachar",
"quality": 0.3214470172122303,
"contact": 0.4820689103763413,
"command": 0.14759926739926743,
"movement": 0.3573140896179672,
"xwoba": 0.291,
"whiff": 29.2,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "PIT",
"original_runs": 6,
"run_delta": 0.0925,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.08305533227033855,
"contact": 0.12362472257558427,
"power": 0.2340330624522838,
"discipline": -0.02782498956147266,
"xwoba": 0.3230833333333333,
"recent_xwoba": 0.3230833333333333,
"barrel": 8.694444444444445,
"ab_hard_contact": 0.13576706915149636,
"ab_bat_speed": 70.35150133240603,
"ab_strikeout_rate": 0.23583491019639333,
"available_players": 9,
"top_players": [
{
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"weight": 5.0,
"quality": 0.9912859781846678,
"contact": 0.8413007622555079,
"power": 1.8080330572781553,
"discipline": -0.5963442460317461,
"xwoba": 0.354,
"recent_xwoba": 0.354,
"barrel": 17.2,
"ab_hard_contact": 1.2720897169916903,
"ab_bat_speed": 76.94591362847223,
"ab_strikeout_rate": 0.36822916666666666,
"available": 1.0
},
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "LF",
"weight": 4.0,
"quality": -0.7890829237755742,
"contact": -0.6373571368679934,
"power": -1.0656685774757912,
"discipline": -0.22779052684903742,
"xwoba": 0.282,
"recent_xwoba": 0.282,
"barrel": 2.0,
"ab_hard_contact": -1.2558477399920112,
"ab_bat_speed": 65.54307467916244,
"ab_strikeout_rate": 0.19710401891252957,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "RF",
"weight": 4.0,
"quality": 0.6220812668462857,
"contact": 0.6489636386768516,
"power": 0.7642064776794056,
"discipline": 0.3416182539682541,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 10.8,
"ab_hard_contact": 0.5088914583500183,
"ab_bat_speed": 71.03007460317461,
"ab_strikeout_rate": 0.23055238095238095,
"available": 1.0
},
{
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"weight": 3.0,
"quality": -0.44051940409922213,
"contact": -0.3126619914423191,
"power": -0.8291585080202326,
"discipline": 0.12802117995792686,
"xwoba": 0.292,
"recent_xwoba": 0.292,
"barrel": 2.6,
"ab_hard_contact": -0.4113606365951269,
"ab_bat_speed": 67.87563013960605,
"ab_strikeout_rate": 0.2123637406769937,
"available": 1.0
},
{
"player_id": "804668",
"player_name": "Rafael Flores Jr.",
"position": "C",
"weight": 4.0,
"quality": 0.1394261670843878,
"contact": 0.16919530429419882,
"power": 1.2608542493301136,
"discipline": -0.20790674603174583,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 16.1,
"ab_hard_contact": 0.8917516532689456,
"ab_bat_speed": 71.8431076388889,
"ab_strikeout_rate": 0.26979166666666665,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694918",
"player_name": "Blade Tidwell",
"quality": 0.04771935374115599,
"contact": 0.36858049550134137,
"command": -0.3435435897435896,
"movement": 0.05242559192035673,
"xwoba": 0.296,
"whiff": 23.1,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 6,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 6,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.3866,
"recent_form_edge_home_minus_away": -0.438,
"pitcher_matchup_edge_home_minus_away": 0.0199,
"composite_home_edge": 0.3269,
"existing_home_win_probability": 0.5466,
"refreshed_home_win_probability": 0.6579,
"winner_support_before_review": 0.3269
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.546624,
"uncapped_away_win_probability": 0.453376,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.546624,
"discount_factor": 0.7225,
"published_confidence": 0.53,
"guardrail_confidence_cap": 0.53,
"guardrail_cap_enforced": true,
"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": 5,
"home_runs": 6,
"predicted_score_text": "SF 5 - 6 PIT",
"confidence": 0.53,
"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": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 6,
"score_text": "SF 5 - 6 PIT",
"winner": "PIT"
},
"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.0199,
"recent_form_edge_home_minus_away": -0.438,
"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": 5,
"home_runs": 6,
"winner": "PIT",
"model_winner": "PIT",
"simulation_winner": "PIT",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "PIT",
"published_winner_draw_share": 0.6667,
"draw_majority_team": "PIT",
"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": 5,
"home_runs": 6
},
"simulation_score": {
"away_runs": 5,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3866,
"winner": "PIT",
"score_reviewed": {
"away_runs": 5,
"home_runs": 6,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "PIT",
"display_confidence": 0.53,
"internal_signal_score": 0.5711,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.3866,
"winner_recent_form_edge": -0.368,
"winner_pitcher_matchup_edge": 0.0199,
"winner_simulation_draw_rate": 0.6667,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.6667,
"low_total_draw_rate_6_or_less": 0.0,
"total_runs_spread": {
"min": 7,
"median": 11,
"max": 11,
"range": 4
}
},
"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 SF | True | 1.0077 | 1.0077 | 1 | 9 | 0 |
| Home PIT | True | 1.0190 | 1.0190 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Bryce Eldridge | 173 | 1.0871 | 1.1607 | neutral | 0.3570 | 0.2580 | 0.4690 | 11.80 | 52.10 | 92.50 | 13.50 | 26.40 | 26.20 | 12.80 | 0.0857 |
| DH | Rafael Devers | 57 | 1.0581 | 0.7746 | neutral | 0.3380 | 0.2350 | 0.4640 | 11.60 | 50.80 | 92.90 | 14.90 | 28.90 | 25.30 | 10.90 | -0.5714 |
| RF | Drew Gilbert | 203 | 1.0283 | 0.3771 | neutral | 0.3290 | 0.2570 | 0.3910 | 5.40 | 35.80 | 86.80 | 15 | 22.20 | 17.60 | 9.80 | 0.4857 |
| LF | Turner Hill | 327 | 1.0300 | 0.4005 | neutral | 0.3650 | 0.2980 | 0.4370 | 5.10 | 38.50 | 88.70 | 12.20 | 10.80 | 11.50 | 11.50 | -0.1429 |
| 2B | Nate Furman | 436 | 0.9540 | -0.6135 | neutral | 0.2440 | 0.1910 | 0.2260 | 0 | 16.70 | 81.60 | 12 | 18.60 | 22.20 | 11.10 | 0.5143 |
| 3B | Shay Whitcomb | 582 | 0.9705 | -0.3928 | neutral | 0.2180 | 0.1550 | 0.3470 | 13.50 | 32.40 | 85.90 | 24.30 | 31.20 | 36.70 | 1.70 | 0.7429 |
| SS | Christian Koss | 545 | 0.9634 | -0.4883 | neutral | 0.2340 | 0.2040 | 0.2770 | 5.20 | 30.60 | 85.40 | 8.10 | 28.70 | 26.60 | 3.50 | 0.1143 |
| C | Andrew Knizner | 463 | 0.9850 | -0.1997 | neutral | 0.2870 | 0.2130 | 0.3490 | 8.70 | 30.40 | 87.50 | 27.90 | 20.40 | 13.30 | 6.70 | -0.7143 |
| CF | Jonah Cox | 197 | 0.9930 | -0.0936 | negative_batter_regression | 0.2800 | 0.2060 | 0.3990 | 12.80 | 43.60 | 90.50 | 17.90 | 39.50 | 43.40 | 5.30 | -2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Bryan Reynolds | 50 | 1.0703 | 0.9371 | neutral | 0.3520 | 0.2520 | 0.4400 | 10.80 | 47.50 | 90.80 | 8.20 | 28.90 | 23.50 | 12.90 | 0.0571 |
| 2B | Nick Gonzales | 138 | 1.0107 | 0.1423 | neutral | 0.3260 | 0.2830 | 0.3840 | 2.70 | 34 | 86.10 | 7 | 22.80 | 16.50 | 7 | -0.5143 |
| DH | Brandon Lowe | 19 | 1.0367 | 0.4897 | neutral | 0.3230 | 0.2360 | 0.4280 | 12 | 45.90 | 91.10 | 15.80 | 35.40 | 29.10 | 9.20 | -0.7143 |
| LF | Jake Mangum | 139 | 0.9481 | -0.6915 | negative_batter_regression | 0.2820 | 0.2450 | 0.3230 | 2 | 27.70 | 85.60 | 4.20 | 21.40 | 20 | 5.30 | -1.0286 |
| 3B | Jacob Gonzalez | 567 | 1.0130 | 0.1732 | neutral | 0.3110 | 0.2580 | 0.4000 | 4.10 | 36.30 | 87.90 | 16.40 | 20.60 | 18.70 | 5.10 | 0.6571 |
| C | Rafael Flores Jr. | 289 | 1.0300 | 0.3994 | neutral | 0.3400 | 0.2290 | 0.4820 | 16.10 | 44.60 | 89.60 | 10.50 | 32.40 | 30.90 | 11.30 | 0.1143 |
| 1B | Spencer Horwitz | 408 | 0.9916 | -0.1114 | neutral | 0.3120 | 0.2240 | 0.3510 | 6.50 | 31.40 | 86.90 | 16.20 | 16 | 15.80 | 11.70 | -0.4000 |
| CF | Oneil Cruz | 101 | 1.0923 | 1.2312 | neutral | 0.3540 | 0.2500 | 0.4860 | 17.20 | 56 | 95.30 | 7.10 | 36.70 | 34.50 | 10.90 | -0.3143 |
| SS | Jared Triolo | 201 | 0.9782 | -0.2903 | neutral | 0.2920 | 0.2470 | 0.3240 | 2.60 | 34.50 | 86.60 | 6 | 21.60 | 19.40 | 8.20 | 0.0571 |
{
"home": {
"applied": true,
"offense_factor": 1.019,
"raw_average_factor": 1.019,
"team_espn_average_rank": 212.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0703,
"quality_score": 0.9371,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 50,
"gp_value": 140.0,
"gp_rank": "1",
"ab_value": 521.0,
"ab_rank": "26",
"r_value": 94.0,
"r_rank": "3",
"h_value": 137.0,
"h_rank": "29",
"avg_value": 0.2629558,
"avg_rank": 59.0,
"2b_value": 33.0,
"2b_rank": "2",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 15.0,
"hr_rank": "108",
"rbi_value": 66.0,
"rbi_rank": "61",
"tb_value": 219.0,
"tb_rank": "495",
"bb_value": 79.0,
"bb_rank": "11",
"so_value": 144.0,
"so_rank": "22",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.369281,
"obp_rank": "19",
"slg_value": 0.4203454,
"slg_rank": "72",
"ops_value": 0.7896264,
"ops_rank": 51.0,
"war_value": 3.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 550.0,
"k_percent": 23.5,
"bb_percent": 12.9,
"woba": 0.35,
"xwoba": 0.352,
"xba": 0.252,
"xslg": 0.44,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 47.5,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 8.2,
"whiff_percent": 28.9,
"swing_percent": 46.4
},
"components": {
"expected_quality": 1.0803,
"regression_edge": 0.0571,
"xwoba_edge": 1.4571,
"xba_edge": 0.4571,
"xslg_edge": 1.0429,
"barrel_edge": 0.9222,
"hard_hit_edge": 1.4,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.7917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0107,
"quality_score": 0.1423,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 138,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 138,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 491.0,
"ab_rank": "64",
"r_value": 67.0,
"r_rank": "62",
"h_value": 152.0,
"h_rank": "9",
"avg_value": 0.3095723,
"avg_rank": 4.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 59.0,
"rbi_rank": "88",
"tb_value": 195.0,
"tb_rank": "1142",
"bb_value": 38.0,
"bb_rank": "139",
"so_value": 89.0,
"so_rank": "138",
"sb_value": 7.0,
"sb_rank": "131",
"obp_value": 0.3715341,
"obp_rank": "14",
"slg_value": 0.3971486,
"slg_rank": "99",
"ops_value": 0.7686827,
"ops_rank": 59.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 486.0,
"k_percent": 16.5,
"bb_percent": 7.0,
"woba": 0.344,
"xwoba": 0.326,
"xba": 0.283,
"xslg": 0.384,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 7.0,
"whiff_percent": 22.8,
"swing_percent": 52.8
},
"components": {
"expected_quality": 0.2492,
"regression_edge": -0.5143,
"xwoba_edge": 0.7143,
"xba_edge": 1.3429,
"xslg_edge": 0.2429,
"barrel_edge": -0.8778,
"hard_hit_edge": -0.5286,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.325,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0367,
"quality_score": 0.4897,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 19,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 512.0,
"ab_rank": "30",
"r_value": 84.0,
"r_rank": "19",
"h_value": 131.0,
"h_rank": "45",
"avg_value": 0.2558593,
"avg_rank": 67.0,
"2b_value": 28.0,
"2b_rank": "19",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 29.0,
"hr_rank": "13",
"rbi_value": 83.0,
"rbi_rank": "11",
"tb_value": 248.0,
"tb_rank": "369",
"bb_value": 53.0,
"bb_rank": "60",
"so_value": 168.0,
"so_rank": "6",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.3240418,
"obp_rank": "88",
"slg_value": 0.484375,
"slg_rank": "26",
"ops_value": 0.8084168,
"ops_rank": 42.0,
"war_value": 4.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 526.0,
"k_percent": 29.1,
"bb_percent": 9.2,
"woba": 0.348,
"xwoba": 0.323,
"xba": 0.236,
"xslg": 0.428,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 15.8,
"whiff_percent": 35.4,
"swing_percent": 50.3
},
"components": {
"expected_quality": 0.6857,
"regression_edge": -0.7143,
"xwoba_edge": 0.6286,
"xba_edge": 0.0,
"xslg_edge": 0.8714,
"barrel_edge": 1.1889,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.3917,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9481,
"quality_score": -0.6915,
"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": 139,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 139,
"gp_value": 116.0,
"gp_rank": "142",
"ab_value": 378.0,
"ab_rank": "141",
"r_value": 52.0,
"r_rank": "139",
"h_value": 108.0,
"h_rank": "99",
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": "170",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 28.0,
"rbi_rank": "269",
"tb_value": 140.0,
"tb_rank": "1390",
"bb_value": 22.0,
"bb_rank": "259",
"so_value": 83.0,
"so_rank": "158",
"sb_value": 21.0,
"sb_rank": "21",
"obp_value": 0.3414043,
"obp_rank": "-",
"slg_value": 0.3703703,
"slg_rank": "-",
"ops_value": 0.7117746,
"ops_rank": null,
"war_value": 1.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 362.0,
"k_percent": 20.0,
"bb_percent": 5.3,
"woba": 0.318,
"xwoba": 0.282,
"xba": 0.245,
"xslg": 0.323,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 27.7,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 4.2,
"whiff_percent": 21.4,
"swing_percent": 58.2
},
"components": {
"expected_quality": -0.6366,
"regression_edge": -1.0286,
"xwoba_edge": -0.5429,
"xba_edge": 0.2571,
"xslg_edge": -0.6286,
"barrel_edge": -1.0333,
"hard_hit_edge": -1.4286,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.9917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"offense_factor": 1.013,
"quality_score": 0.1732,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694378",
"espn_id": 4720990,
"player_name": "Jacob Gonzalez",
"team": "PIT",
"role": "batter",
"espn_rank": 567,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 567,
"gp_value": 68.0,
"gp_rank": "329",
"ab_value": 182.0,
"ab_rank": "328",
"r_value": 20.0,
"r_rank": "343",
"h_value": 41.0,
"h_rank": "327",
"avg_value": 0.2252747,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 30.0,
"rbi_rank": "260",
"tb_value": 68.0,
"tb_rank": "2004",
"bb_value": 10.0,
"bb_rank": "384",
"so_value": 37.0,
"so_rank": "360",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.2791878,
"obp_rank": "-",
"slg_value": 0.3736263,
"slg_rank": "-",
"ops_value": 0.6528141,
"ops_rank": null,
"war_value": -0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 171.0,
"k_percent": 18.7,
"bb_percent": 5.1,
"woba": 0.288,
"xwoba": 0.311,
"xba": 0.258,
"xslg": 0.4,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 16.4,
"whiff_percent": 20.6,
"swing_percent": 56.8
},
"components": {
"expected_quality": 0.1522,
"regression_edge": 0.6571,
"xwoba_edge": 0.2857,
"xba_edge": 0.6286,
"xslg_edge": 0.4714,
"barrel_edge": -0.5667,
"hard_hit_edge": -0.2,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.2417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "804668",
"player_name": "Rafael Flores Jr.",
"offense_factor": 1.03,
"quality_score": 0.3994,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "804668",
"espn_id": 5131743,
"player_name": "Rafael Flores Jr.",
"team": "PIT",
"role": "batter",
"espn_rank": 289,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 289,
"gp_value": 30.0,
"gp_rank": "457",
"ab_value": 86.0,
"ab_rank": "440",
"r_value": 12.0,
"r_rank": "418",
"h_value": 18.0,
"h_rank": "448",
"avg_value": 0.2093023,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": "439",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 7.0,
"hr_rank": "242",
"rbi_value": 17.0,
"rbi_rank": "350",
"tb_value": 42.0,
"tb_rank": "2189",
"bb_value": 11.0,
"bb_rank": "370",
"so_value": 30.0,
"so_rank": "410",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.298969,
"obp_rank": "-",
"slg_value": 0.488372,
"slg_rank": "-",
"ops_value": 0.787341,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 55.0,
"k_percent": 30.9,
"bb_percent": 11.3,
"woba": 0.336,
"xwoba": 0.34,
"xba": 0.229,
"xslg": 0.482,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 16.1,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 10.5,
"whiff_percent": 32.4,
"swing_percent": 43.1
},
"components": {
"expected_quality": 1.0133,
"regression_edge": 0.1143,
"xwoba_edge": 1.1143,
"xba_edge": -0.2,
"xslg_edge": 1.6429,
"barrel_edge": 2.1,
"hard_hit_edge": 0.9857,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.1917,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"offense_factor": 0.9916,
"quality_score": -0.1114,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687462",
"espn_id": 4228472,
"player_name": "Spencer Horwitz",
"team": "PIT",
"role": "batter",
"espn_rank": 408,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 408,
"gp_value": 97.0,
"gp_rank": "204",
"ab_value": 335.0,
"ab_rank": "187",
"r_value": 39.0,
"r_rank": "206",
"h_value": 83.0,
"h_rank": "176",
"avg_value": 0.2477611,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 41.0,
"rbi_rank": "182",
"tb_value": 127.0,
"tb_rank": "1179",
"bb_value": 46.0,
"bb_rank": "88",
"so_value": 62.0,
"so_rank": "245",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3469387,
"obp_rank": "-",
"slg_value": 0.3791044,
"slg_rank": "-",
"ops_value": 0.7260431,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 342.0,
"k_percent": 15.8,
"bb_percent": 11.7,
"woba": 0.326,
"xwoba": 0.312,
"xba": 0.224,
"xslg": 0.351,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 16.2,
"whiff_percent": 16.0,
"swing_percent": 40.6
},
"components": {
"expected_quality": -0.0645,
"regression_edge": -0.4,
"xwoba_edge": 0.3143,
"xba_edge": -0.3429,
"xslg_edge": -0.2286,
"barrel_edge": -0.0333,
"hard_hit_edge": -0.9,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.8417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "665833",
"player_name": "Oneil Cruz",
"offense_factor": 1.0923,
"quality_score": 1.2312,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665833",
"espn_id": 39712,
"player_name": "Oneil Cruz",
"team": "PIT",
"role": "batter",
"espn_rank": 101,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 101,
"gp_value": 77.0,
"gp_rank": "295",
"ab_value": 299.0,
"ab_rank": "215",
"r_value": 53.0,
"r_rank": "132",
"h_value": 81.0,
"h_rank": "183",
"avg_value": 0.270903,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 57.0,
"rbi_rank": "99",
"tb_value": 145.0,
"tb_rank": "946",
"bb_value": 37.0,
"bb_rank": "146",
"so_value": 117.0,
"so_rank": "66",
"sb_value": 25.0,
"sb_rank": "14",
"obp_value": 0.3569321,
"obp_rank": "-",
"slg_value": 0.4849498,
"slg_rank": "-",
"ops_value": 0.8418819,
"ops_rank": null,
"war_value": 2.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 281.0,
"k_percent": 34.5,
"bb_percent": 10.9,
"woba": 0.365,
"xwoba": 0.354,
"xba": 0.25,
"xslg": 0.486,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 17.2,
"hard_hit_percent": 56.0,
"exit_velocity_avg": 95.3,
"launch_angle_avg": 7.1,
"whiff_percent": 36.7,
"swing_percent": 43.5
},
"components": {
"expected_quality": 1.4828,
"regression_edge": -0.3143,
"xwoba_edge": 1.5143,
"xba_edge": 0.4,
"xslg_edge": 1.7,
"barrel_edge": 2.3444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 0.1417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "669707",
"player_name": "Jared Triolo",
"offense_factor": 0.9782,
"quality_score": -0.2903,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669707",
"espn_id": 42933,
"player_name": "Jared Triolo",
"team": "PIT",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 201,
"gp_value": 103.0,
"gp_rank": "183",
"ab_value": 294.0,
"ab_rank": "221",
"r_value": 31.0,
"r_rank": "254",
"h_value": 72.0,
"h_rank": "209",
"avg_value": 0.2448979,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 27.0,
"rbi_rank": "278",
"tb_value": 93.0,
"tb_rank": "2101",
"bb_value": 27.0,
"bb_rank": "210",
"so_value": 64.0,
"so_rank": "237",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3190184,
"obp_rank": "-",
"slg_value": 0.3163265,
"slg_rank": "-",
"ops_value": 0.6353449,
"ops_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 289.0,
"k_percent": 19.4,
"bb_percent": 8.2,
"woba": 0.29,
"xwoba": 0.292,
"xba": 0.247,
"xslg": 0.324,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 6.0,
"whiff_percent": 21.6,
"swing_percent": 44.9
},
"components": {
"expected_quality": -0.3468,
"regression_edge": 0.0571,
"xwoba_edge": -0.2571,
"xba_edge": 0.3143,
"xslg_edge": -0.6143,
"barrel_edge": -0.9,
"hard_hit_edge": -0.4571,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": -0.1583,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0077,
"raw_average_factor": 1.0077,
"team_espn_average_rank": 331.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0871,
"quality_score": 1.1607,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 173,
"gp_value": 94.0,
"gp_rank": "222",
"ab_value": 338.0,
"ab_rank": "181",
"r_value": 44.0,
"r_rank": "175",
"h_value": 89.0,
"h_rank": "154",
"avg_value": 0.2633136,
"avg_rank": null,
"2b_value": 18.0,
"2b_rank": "137",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 15.0,
"hr_rank": "108",
"rbi_value": 45.0,
"rbi_rank": "164",
"tb_value": 152.0,
"tb_rank": "1191",
"bb_value": 50.0,
"bb_rank": "70",
"so_value": 102.0,
"so_rank": "103",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3564102,
"obp_rank": "-",
"slg_value": 0.4497041,
"slg_rank": "-",
"ops_value": 0.8061143,
"ops_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 331.0,
"k_percent": 26.2,
"bb_percent": 12.8,
"woba": 0.354,
"xwoba": 0.357,
"xba": 0.258,
"xslg": 0.469,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 52.1,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 13.5,
"whiff_percent": 26.4,
"swing_percent": 42.8
},
"components": {
"expected_quality": 1.3357,
"regression_edge": 0.0857,
"xwoba_edge": 1.6,
"xba_edge": 0.6286,
"xslg_edge": 1.4571,
"barrel_edge": 1.1444,
"hard_hit_edge": 2.0571,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": 0.475,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0581,
"quality_score": 0.7746,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 57,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 57,
"gp_value": 140.0,
"gp_rank": "1",
"ab_value": 527.0,
"ab_rank": "20",
"r_value": 82.0,
"r_rank": "24",
"h_value": 134.0,
"h_rank": "39",
"avg_value": 0.2542694,
"avg_rank": 72.0,
"2b_value": 32.0,
"2b_rank": "5",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 32.0,
"hr_rank": "8",
"rbi_value": 83.0,
"rbi_rank": "11",
"tb_value": 264.0,
"tb_rank": "334",
"bb_value": 65.0,
"bb_rank": "31",
"so_value": 151.0,
"so_rank": "15",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3361204,
"obp_rank": "64",
"slg_value": 0.5009487,
"slg_rank": "16",
"ops_value": 0.8370691,
"ops_rank": 23.0,
"war_value": 3.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 522.0,
"k_percent": 25.3,
"bb_percent": 10.9,
"woba": 0.358,
"xwoba": 0.338,
"xba": 0.235,
"xslg": 0.464,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 14.9,
"whiff_percent": 28.9,
"swing_percent": 47.4
},
"components": {
"expected_quality": 0.9938,
"regression_edge": -0.5714,
"xwoba_edge": 1.0571,
"xba_edge": -0.0286,
"xslg_edge": 1.3857,
"barrel_edge": 1.1,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": -0.4583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "687551",
"player_name": "Drew Gilbert",
"offense_factor": 1.0283,
"quality_score": 0.3771,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687551",
"espn_id": 4619467,
"player_name": "Drew Gilbert",
"team": "SF",
"role": "batter",
"espn_rank": 203,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 203,
"gp_value": 114.0,
"gp_rank": "149",
"ab_value": 299.0,
"ab_rank": "215",
"r_value": 44.0,
"r_rank": "175",
"h_value": 70.0,
"h_rank": "223",
"avg_value": 0.2341137,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": "214",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 36.0,
"rbi_rank": "213",
"tb_value": 113.0,
"tb_rank": "1157",
"bb_value": 34.0,
"bb_rank": "168",
"so_value": 61.0,
"so_rank": "249",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3255813,
"obp_rank": "-",
"slg_value": 0.3779264,
"slg_rank": "-",
"ops_value": 0.7035077,
"ops_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 283.0,
"k_percent": 17.6,
"bb_percent": 9.8,
"woba": 0.312,
"xwoba": 0.329,
"xba": 0.257,
"xslg": 0.391,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 15.0,
"whiff_percent": 22.2,
"swing_percent": 42.1
},
"components": {
"expected_quality": 0.3594,
"regression_edge": 0.4857,
"xwoba_edge": 0.8,
"xba_edge": 0.6,
"xslg_edge": 0.3429,
"barrel_edge": -0.2778,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.5583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "806367",
"player_name": "Turner Hill",
"offense_factor": 1.03,
"quality_score": 0.4005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "806367",
"espn_id": 5207758,
"player_name": "Turner Hill",
"team": "SF",
"role": "batter",
"espn_rank": 327,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 327,
"gp_value": 15.0,
"gp_rank": "537",
"ab_value": 42.0,
"ab_rank": "523",
"r_value": 6.0,
"r_rank": "489",
"h_value": 14.0,
"h_rank": "471",
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": "373",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 11.0,
"rbi_rank": "407",
"tb_value": 19.0,
"tb_rank": "3004",
"bb_value": 6.0,
"bb_rank": "446",
"so_value": 6.0,
"so_rank": "573",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.4038461,
"obp_rank": "-",
"slg_value": 0.4523809,
"slg_rank": "-",
"ops_value": 0.856227,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 9.0,
"k_percent": 11.5,
"bb_percent": 11.5,
"woba": 0.37,
"xwoba": 0.365,
"xba": 0.298,
"xslg": 0.437,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 12.2,
"whiff_percent": 10.8,
"swing_percent": 39.2
},
"components": {
"expected_quality": 1.0581,
"regression_edge": -0.1429,
"xwoba_edge": 1.8286,
"xba_edge": 1.7714,
"xslg_edge": 1.0,
"barrel_edge": -0.3444,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.4417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "801501",
"player_name": "Nate Furman",
"offense_factor": 0.954,
"quality_score": -0.6135,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "801501",
"espn_id": 4752203,
"player_name": "Nate Furman",
"team": "SF",
"role": "batter",
"espn_rank": 436,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 436,
"gp_value": 14.0,
"gp_rank": "545",
"ab_value": 22.0,
"ab_rank": "571",
"r_value": 1.0,
"r_rank": "585",
"h_value": 4.0,
"h_rank": "563",
"avg_value": 0.1818181,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": "572",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 2.0,
"rbi_rank": "546",
"tb_value": 4.0,
"tb_rank": "3295",
"bb_value": 3.0,
"bb_rank": "504",
"so_value": 6.0,
"so_rank": "573",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.28,
"obp_rank": "-",
"slg_value": 0.1818181,
"slg_rank": "-",
"ops_value": 0.4618181,
"ops_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 7.0,
"k_percent": 22.2,
"bb_percent": 11.1,
"woba": 0.226,
"xwoba": 0.244,
"xba": 0.191,
"xslg": 0.226,
"sweet_spot_percent": 16.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.7,
"exit_velocity_avg": 81.6,
"launch_angle_avg": 12.0,
"whiff_percent": 18.6,
"swing_percent": 45.3
},
"components": {
"expected_quality": -1.6691,
"regression_edge": 0.5143,
"xwoba_edge": -1.6286,
"xba_edge": -1.2857,
"xslg_edge": -2.0143,
"barrel_edge": -1.4778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "694376",
"player_name": "Shay Whitcomb",
"offense_factor": 0.9705,
"quality_score": -0.3928,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694376",
"espn_id": 4683352,
"player_name": "Shay Whitcomb",
"team": "SF",
"role": "batter",
"espn_rank": 582,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 582,
"gp_value": 27.0,
"gp_rank": "477",
"ab_value": 57.0,
"ab_rank": "491",
"r_value": 4.0,
"r_rank": "519",
"h_value": 7.0,
"h_rank": "529",
"avg_value": 0.122807,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 8.0,
"rbi_rank": "451",
"tb_value": 18.0,
"tb_rank": "2668",
"bb_value": 1.0,
"bb_rank": "554",
"so_value": 22.0,
"so_rank": "457",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.137931,
"obp_rank": "-",
"slg_value": 0.3157894,
"slg_rank": "-",
"ops_value": 0.4537204,
"ops_rank": null,
"war_value": -0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 23.0,
"k_percent": 36.7,
"bb_percent": 1.7,
"woba": 0.192,
"xwoba": 0.218,
"xba": 0.155,
"xslg": 0.347,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 32.4,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 24.3,
"whiff_percent": 31.2,
"swing_percent": 50.9
},
"components": {
"expected_quality": -1.136,
"regression_edge": 0.7429,
"xwoba_edge": -2.3714,
"xba_edge": -2.3143,
"xslg_edge": -0.2857,
"barrel_edge": 1.5222,
"hard_hit_edge": -0.7571,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.1417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "683766",
"player_name": "Christian Koss",
"offense_factor": 0.9634,
"quality_score": -0.4883,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683766",
"espn_id": 4109031,
"player_name": "Christian Koss",
"team": "SF",
"role": "batter",
"espn_rank": 545,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 545,
"gp_value": 48.0,
"gp_rank": "390",
"ab_value": 132.0,
"ab_rank": "385",
"r_value": 16.0,
"r_rank": "379",
"h_value": 27.0,
"h_rank": "390",
"avg_value": 0.2045454,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": "373",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 5.0,
"rbi_rank": "502",
"tb_value": 35.0,
"tb_rank": "2710",
"bb_value": 5.0,
"bb_rank": "466",
"so_value": 38.0,
"so_rank": "352",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.2446043,
"obp_rank": "-",
"slg_value": 0.2651515,
"slg_rank": "-",
"ops_value": 0.5097558,
"ops_rank": null,
"war_value": -0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 26.6,
"bb_percent": 3.5,
"woba": 0.23,
"xwoba": 0.234,
"xba": 0.204,
"xslg": 0.277,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 30.6,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 8.1,
"whiff_percent": 28.7,
"swing_percent": 55.0
},
"components": {
"expected_quality": -1.2804,
"regression_edge": 0.1143,
"xwoba_edge": -1.9143,
"xba_edge": -0.9143,
"xslg_edge": -1.2857,
"barrel_edge": -0.3222,
"hard_hit_edge": -1.0143,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -1.2917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "668800",
"player_name": "Andrew Knizner",
"offense_factor": 0.985,
"quality_score": -0.1997,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668800",
"espn_id": 36170,
"player_name": "Andrew Knizner",
"team": "SF",
"role": "batter",
"espn_rank": 463,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 463,
"gp_value": 12.0,
"gp_rank": "562",
"ab_value": 27.0,
"ab_rank": "556",
"r_value": 3.0,
"r_rank": "537",
"h_value": 6.0,
"h_rank": "538",
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 1.0,
"rbi_rank": "579",
"tb_value": 11.0,
"tb_rank": "2959",
"bb_value": 2.0,
"bb_rank": "522",
"so_value": 4.0,
"so_rank": "586",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3,
"obp_rank": "-",
"slg_value": 0.4074074,
"slg_rank": "-",
"ops_value": 0.7074074,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 7.0,
"k_percent": 13.3,
"bb_percent": 6.7,
"woba": 0.312,
"xwoba": 0.287,
"xba": 0.213,
"xslg": 0.349,
"sweet_spot_percent": 17.4,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 27.9,
"whiff_percent": 20.4,
"swing_percent": 48.5
},
"components": {
"expected_quality": -0.3998,
"regression_edge": -0.7143,
"xwoba_edge": -0.4,
"xba_edge": -0.6571,
"xslg_edge": -0.2571,
"barrel_edge": 0.4556,
"hard_hit_edge": -1.0429,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "813841",
"player_name": "Jonah Cox",
"offense_factor": 0.993,
"quality_score": -0.0936,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "813841",
"espn_id": 5145886,
"player_name": "Jonah Cox",
"team": "SF",
"role": "batter",
"espn_rank": 197,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 197,
"gp_value": 40.0,
"gp_rank": "414",
"ab_value": 69.0,
"ab_rank": "472",
"r_value": 13.0,
"r_rank": "408",
"h_value": 20.0,
"h_rank": "435",
"avg_value": 0.289855,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 10.0,
"rbi_rank": "425",
"tb_value": 38.0,
"tb_rank": "2030",
"bb_value": 4.0,
"bb_rank": "488",
"so_value": 33.0,
"so_rank": "386",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3287671,
"obp_rank": "-",
"slg_value": 0.5507246,
"slg_rank": "-",
"ops_value": 0.8794917,
"ops_rank": null,
"war_value": 1.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 39.0,
"k_percent": 43.4,
"bb_percent": 5.3,
"woba": 0.375,
"xwoba": 0.28,
"xba": 0.206,
"xslg": 0.399,
"sweet_spot_percent": 43.6,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 17.9,
"whiff_percent": 39.5,
"swing_percent": 53.1
},
"components": {
"expected_quality": 0.0838,
"regression_edge": -2.0,
"xwoba_edge": -0.6,
"xba_edge": -0.8571,
"xslg_edge": 0.4571,
"barrel_edge": 1.3667,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 1.725,
"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 SF | True | 367 | 0.0569 | 0.4500 | 0.9952 | 0.9900 | 0.9937 | 1.0082 | neutral | 0.2960 | 0.3090 | 20.10 | 8.40 | 23.10 | 9.30 | 37 | |
| Home PIT | True | 195 | 0.2842 | 1 | 0.9758 | 1.0406 | 1.0120 | 0.9900 | neutral | 0.2910 | 0.2860 | 25 | 9.70 | 29.20 | 8.70 | 34.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | True | None | 76 | 89.48 | 2488 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0215 | |
| Home PIT | True | None | 49 | 89.77 | 2691 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0055 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9882 |
| home_runs_vs_away_pitcher | 0.9989 |
| home_pitcher_starter_only_factor | 0.9758 |
| away_pitcher_starter_only_factor | 0.9978 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.5556 |
| home_pitcher_quality_edge | 0.1473 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669199",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 281.0,
"k_percent": 25.0,
"bb_percent": 9.7,
"woba": 0.286,
"xwoba": 0.291,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 34.7,
"avg_best_speed": 78.8009,
"avg_hyper_speed": 93.6949,
"whiff_percent": 29.2,
"swing_percent": 45.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3623,
"command_and_miss": 0.3693,
"regression_edge": -0.1429,
"xwoba_edge": 0.5714,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.5714,
"bb_edge": -0.15,
"pitch_design_score": -0.0055
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669199",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 49,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7704,
"release_spin_rate": 2691.0164,
"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.0055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0391,
"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.2842,
"sample_weight": 1.0,
"run_prevention_factor": 0.9758,
"strikeout_factor": 1.0406,
"walk_factor": 1.012,
"homer_factor": 0.99,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669199",
"espn_id": 42592,
"player_name": "Lake Bachar",
"team": "PIT",
"role": "pitcher",
"espn_rank": 195,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 195,
"gp_value": 46.0,
"gp_rank": 119,
"gs_value": 7.0,
"gs_rank": 197,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.7035,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 75.1,
"ip_rank": 164,
"h_value": 52.0,
"h_rank": 223,
"er_value": 31.0,
"er_rank": 177,
"hr_value": 13.0,
"hr_rank": 113,
"bb_value": 30.0,
"bb_rank": 155,
"k_value": 77.0,
"k_rank": 151,
"k_per_9_value": 9.199116,
"k_per_9_rank": 24,
"whip_value": 1.0884,
"whip_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "694918",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 20.1,
"bb_percent": 8.4,
"woba": 0.309,
"xwoba": 0.296,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.4141,
"avg_hyper_speed": 93.9119,
"whiff_percent": 23.1,
"swing_percent": 45.7
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2488,
"command_and_miss": -0.1857,
"regression_edge": 0.3714,
"xwoba_edge": 0.4286,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.3,
"bb_edge": 0.175,
"pitch_design_score": -0.0215
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694918",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4841,
"release_spin_rate": 2488.2248,
"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.0215,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1536,
"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.0569,
"sample_weight": 0.45,
"run_prevention_factor": 0.9952,
"strikeout_factor": 0.99,
"walk_factor": 0.9937,
"homer_factor": 1.0082,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694918",
"espn_id": 4719088,
"player_name": "Blade Tidwell",
"team": "SF",
"role": "pitcher",
"espn_rank": 367,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 367,
"gp_value": 13.0,
"gp_rank": 477,
"gs_value": 5.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.5398,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 37.2,
"ip_rank": 372,
"h_value": 33.0,
"h_rank": 374,
"er_value": 19.0,
"er_rank": 321,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 13.0,
"bb_rank": 408,
"k_value": 31.0,
"k_rank": 402,
"k_per_9_value": 7.40708,
"k_per_9_rank": 29,
"whip_value": 1.2212,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9882,
"home_runs_vs_away_pitcher": 0.9989,
"home_pitcher_starter_only_factor": 0.9758,
"away_pitcher_starter_only_factor": 0.9978,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.5556,
"home_pitcher_quality_edge": 0.1473
},
"score_before": {
"away_runs": 4.0,
"home_runs": 6.0
},
"score_after": {
"away_runs": 3.9528,
"home_runs": 5.9937,
"home_win_probability": 0.6761
},
"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 SF | 6-4 | 0.600 | 6.10 | 5.10 | 10 | 1W | hot | weak |
| Home PIT | 5-5 | 0.500 | 3.60 | 4 | -4 | 1L | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SF | 58-82 | 0.414 | -70 | -0.500 | True |
| Home PIT | 68-72 | 0.486 | 26 | 0.186 | True |
| Signal | - | - | 0.686 | 0.387 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | SF @ PIT | 5 - 4 | SF | 1 | close |
| 2026-09-01 | SF @ PIT | 12 - 13 | PIT | 1 | close |
| 2026-05-10 | PIT @ SF | 6 - 7 | SF | 1 | close |
| 2026-05-09 | PIT @ SF | 13 - 3 | PIT | 10 | blowout |
| 2026-05-08 | PIT @ SF | 2 - 5 | SF | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SF | - | - | 5 | - | - | - | - |
| Game target PIT | - | - | 6 | - | - | - | - |
| Player finalized SF | 38 | 8 | 4 | 1 | 5 | 3 | 9 |
| Player finalized PIT | 36 | 9 | 4 | 1 | 5 | 3 | 9 |
| Player model fractional SF | 27.10 | 6.18 | 3.48 | 0.92 | 3.69 | 2.45 | 7.25 |
| Player model fractional PIT | 33.24 | 8.62 | 4.49 | 1.00 | 4.58 | 3.24 | 8.30 |
| Simulation box SF | 33 | 6 | 5 | 1 | 5 | 4 | 7 |
| Simulation box PIT | 34 | 11 | 6 | 2 | 6 | 1 | 12 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | Starter | Blade Tidwell | 5 | 2 | 8 | 5 | 0 | 4.86 | 1.31 | True |
| Away SF | Setup Man | Trent Harris | 1.10 | 1 | 1 | 2 | 0 | 3.55 | 1.26 | True |
| Away SF | Closer | Dylan Smith | 1.10 | 0 | 2 | 1 | 0 | 4.05 | 1.53 | True |
| Away SF | Middle Reliever (High Leverage) | Carson Seymour | 0.10 | 3 | 1 | 3 | 1 | 3.70 | 1.28 | True |
| Home PIT | Starter | Lake Bachar | 5 | 1 | 5 | 1 | 1 | 2.90 | 1.11 | True |
| Home PIT | Middle Reliever (High Leverage) | Gregory Soto | 1 | 0 | 1 | 1 | 0 | 1.70 | 0.90 | True |
| Home PIT | Setup Man | Luke Weaver | 1.10 | 0 | 0 | 0 | 0 | 5.07 | 1.48 | True |
| Home PIT | Closer | Mason Montgomery | 1.20 | 4 | 1 | 4 | 3 | 1.74 | 0.94 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | PIT | batter | 3B | Jacob Gonzalez | better | 11 | 10 | 1 | 9 | 2 | predicted_RBI | 2.6000 | boost | better |
| away | SF | batter | RF | Drew Gilbert | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 1.7620 | boost | better |
| home | PIT | batter | LF | Jake Mangum | worse | 9 | 2 | 7 | 3 | 6 | predicted_RBI | 1.7330 | boost | better |
| away | SF | batter | 2B | Nate Furman | worse | 9 | 2 | 7 | 1 | 8 | predicted_AB | 1.5000 | boost | better |
| away | SF | batter | 3B | Shay Whitcomb | better | 7 | 5 | 2 | 5 | 2 | predicted_AB | 1.5000 | boost | better |
| away | SF | batter | CF | Jonah Cox | deboosted | 12 | 5 | 7 | 6 | 6 | predicted_AB | 1.5000 | boost | better |
| home | PIT | batter | 1B | Spencer Horwitz | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.3610 | boost | worse |
| home | PIT | batter | SS | Jared Triolo | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3400 | boost | worse |
| home | PIT | batter | 2B | Nick Gonzales | better | 9 | 6 | 3 | 5 | 4 | predicted_SO | 1.3170 | boost | worse |
| away | SF | batter | LF | Turner Hill | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_RBI | 1.2140 | boost | better |
| home | PIT | batter | CF | Oneil Cruz | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | -1.0300 | deboost | worse |
| home | PIT | batter | RF | Bryan Reynolds | neutral | 8 | 4 | 4 | 4 | 4 | predicted_H | 1.0150 | boost | better |
| away | SF | batter | SS | Christian Koss | better | 8 | 4 | 4 | 5 | 3 | predicted_AB | 1.0000 | boost | better |
| away | SF | batter | DH | Rafael Devers | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9570 | deboost | worse |
| home | PIT | batter | C | Rafael Flores Jr. | better | 11 | 9 | 2 | 8 | 3 | predicted_SO | 0.8890 | boost | worse |
| away | SF | batter | C | Andrew Knizner | worse | 11 | 4 | 7 | 5 | 6 | predicted_BB | 0.8150 | boost | better |
| home | PIT | batter | DH | Brandon Lowe | better | 10 | 6 | 4 | 7 | 3 | predicted_2B | 0.7800 | boost | better |
| home | PIT | pitcher | Starter | Lake Bachar | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| away | SF | batter | 1B | Bryce Eldridge | better | 11 | 7 | 4 | 8 | 3 | predicted_BB | -0.5320 | deboost | worse |
| away | SF | pitcher | Setup Man | Trent Harris | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | SF | pitcher | Middle Reliever (High Leverage) | Carson Seymour | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | PIT | pitcher | Closer | Mason Montgomery | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | SF | pitcher | Closer | Dylan Smith | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | 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 | Blade Tidwell |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0569 |
| ESPN Rank | 367 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0215 |
| Avg Velo | 89.4841 |
| Avg Spin | 2488.2248 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 8 |
| Season ERA | 4.5398 |
| Season WHIP | 1.2212 |
| Role Avg IP | 5.1330 |
| Recent Avg IP | 5.1330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"opponent": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"edges": {
"quality_edge": -0.1095,
"offense_edge": -0.073,
"opponent_offense_edge": 0.0889,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0455,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.991,
"run_prevention": 1.0234,
"strikeout": 0.9896
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694918",
"profile": {
"available": true,
"pitcher_id": "694918",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 20.1,
"bb_percent": 8.4,
"woba": 0.309,
"xwoba": 0.296,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.4141,
"avg_hyper_speed": 93.9119,
"whiff_percent": 23.1,
"swing_percent": 45.7
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2488,
"command_and_miss": -0.1857,
"regression_edge": 0.3714,
"xwoba_edge": 0.4286,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.3,
"bb_edge": 0.175,
"pitch_design_score": -0.0215
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694918",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4841,
"release_spin_rate": 2488.2248,
"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.0215,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1536,
"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.0569,
"sample_weight": 0.45,
"run_prevention_factor": 0.9952,
"strikeout_factor": 0.99,
"walk_factor": 0.9937,
"homer_factor": 1.0082,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694918",
"espn_id": 4719088,
"player_name": "Blade Tidwell",
"team": "SF",
"role": "pitcher",
"espn_rank": 367,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 367,
"gp_value": 13.0,
"gp_rank": 477,
"gs_value": 5.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.5398,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 37.2,
"ip_rank": 372,
"h_value": 33.0,
"h_rank": 374,
"er_value": 19.0,
"er_rank": 321,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 13.0,
"bb_rank": 408,
"k_value": 31.0,
"k_rank": 402,
"k_per_9_value": 7.40708,
"k_per_9_rank": 29,
"whip_value": 1.2212,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9978,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 0.9978,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9972,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0037,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9955,
"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": 32.2,
"ER": 19,
"H": 31,
"BB": 12,
"SO": 27,
"HR": 5,
"ERA": 5.2346938775510194,
"WHIP": 1.3163265306122447,
"K9": 7.4387755102040805,
"HR9": 1.3775510204081631,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "694918",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.48410615286664,
"release_spin_rate": 2488.224804520724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4841,
"release_spin_rate": 2488.2248,
"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.0215,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1536,
"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.571,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6023,
"prior_weight": 0.3977
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "694918",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 15.0,
"R": 15.0,
"H": 23.0,
"BB": 10.0,
"SO": 21.0,
"HR": 4.0,
"BF": 107.0,
"Pitches": 452.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 4.6,
"BB": 2.0,
"SO": 4.2,
"HR": 0.8,
"BF": 21.4,
"Pitches": 90.4
},
"rates": {
"ERA": 5.2597,
"WHIP": 1.2857,
"ER_per_IP": 0.58442,
"H_per_IP": 0.8961,
"BB_per_IP": 0.38961,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.15584
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 32.2,
"ER": 19.0,
"R": 19.0,
"H": 31.0,
"BB": 12.0,
"SO": 27.0,
"HR": 5.0,
"BF": 138.0,
"Pitches": 565.0
},
"per_game": {
"IP": 3.1,
"ER": 1.9,
"R": 1.9,
"H": 3.1,
"BB": 1.2,
"SO": 2.7,
"HR": 0.5,
"BF": 13.8,
"Pitches": 56.5
},
"rates": {
"ERA": 5.2347,
"WHIP": 1.3163,
"ER_per_IP": 0.58163,
"H_per_IP": 0.94898,
"BB_per_IP": 0.36735,
"SO_per_IP": 0.82653,
"HR_per_IP": 0.15306
}
},
"season": {
"games": 13,
"totals": {
"IP": 37.2,
"ER": 19.0,
"R": 19.0,
"H": 33.0,
"BB": 13.0,
"SO": 31.0,
"HR": 5.0,
"BF": 154.0,
"Pitches": 634.0
},
"per_game": {
"IP": 3.0,
"ER": 1.4615,
"R": 1.4615,
"H": 2.5385,
"BB": 1.0,
"SO": 2.3846,
"HR": 0.3846,
"BF": 11.8462,
"Pitches": 48.7692
},
"rates": {
"ERA": 4.5398,
"WHIP": 1.2212,
"ER_per_IP": 0.50442,
"H_per_IP": 0.87611,
"BB_per_IP": 0.34513,
"SO_per_IP": 0.82301,
"HR_per_IP": 0.13274
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.379,
"predicted_H": 4.123,
"predicted_BB": 1.64,
"predicted_SO": 3.829,
"predicted_HR": 0.656,
"predicted_ERA": 4.8569,
"predicted_WHIP": 1.3074
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.518,
"form_weight": 0.482,
"form_reliability": 0.6023,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.571,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6023,
"prior_weight": 0.3977
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.1,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.379,
"final": 2.1827,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.123,
"final": 4.5773,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.64,
"final": 0.7904,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 3.829,
"final": 5.9897,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.656,
"final": 0.3162,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8569,
"final": 4.8569,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3074,
"final": 1.3074,
"source": "form_only"
}
}
}{
"available": false,
"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 Harris |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5606 |
| ESPN Rank | 410 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.7500 |
| Season WHIP | 1.4167 |
| Role Avg IP | 1.2000 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"opponent": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"edges": {
"quality_edge": -0.1095,
"offense_edge": -0.073,
"opponent_offense_edge": 0.0889,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0455,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.991,
"run_prevention": 1.0234,
"strikeout": 0.9896
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "805345",
"profile": {
"available": true,
"pitcher_id": "805345",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 23.0,
"k_percent": 32.7,
"bb_percent": 11.5,
"woba": 0.304,
"xwoba": 0.231,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 20.7,
"avg_best_speed": 70.3786,
"avg_hyper_speed": 91.7091,
"whiff_percent": 26.1,
"swing_percent": 40.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.58,
"command_and_miss": 0.6193,
"regression_edge": 2.0,
"xwoba_edge": 2.2857,
"barrel_edge": 1.6222,
"hard_hit_edge": 2.4429,
"whiff_edge": 0.1286,
"bb_edge": -0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "805345",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5606,
"sample_weight": 0.45,
"run_prevention_factor": 0.9523,
"strikeout_factor": 1.0301,
"walk_factor": 1.0216,
"homer_factor": 0.8668,
"woba_minus_xwoba": 0.073,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "805345",
"espn_id": 5201836,
"player_name": "Trent Harris",
"team": "SF",
"role": "pitcher",
"espn_rank": 410,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 410,
"gp_value": 10.0,
"gp_rank": 515,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.75,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 0.0,
"l_rank": 569,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 3.0,
"hld_rank": 202,
"ip_value": 12.0,
"ip_rank": 581,
"h_value": 11.0,
"h_rank": 608,
"er_value": 5.0,
"er_rank": 640,
"hr_value": 0.0,
"hr_rank": 733,
"bb_value": 6.0,
"bb_rank": 570,
"k_value": 17.0,
"k_rank": 501,
"k_per_9_value": 12.75,
"k_per_9_rank": 23,
"whip_value": 1.4166,
"whip_rank": null,
"war_value": 0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9785,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0097,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9401,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0135,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 5,
"H": 11,
"BB": 6,
"SO": 17,
"HR": 0,
"ERA": 3.75,
"WHIP": 1.4166666666666667,
"K9": 12.75,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "805345",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.5625,
"last_10": 0.43749999999999994
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.412,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3254,
"prior_weight": 0.6746
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "805345",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8333,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 6.0,
"SO": 17.0,
"HR": 0.0,
"BF": 52.0,
"Pitches": 219.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.5,
"H": 1.1,
"BB": 0.6,
"SO": 1.7,
"HR": 0.0,
"BF": 5.2,
"Pitches": 21.9
},
"rates": {
"ERA": 3.75,
"WHIP": 1.4167,
"ER_per_IP": 0.41667,
"H_per_IP": 0.91667,
"BB_per_IP": 0.5,
"SO_per_IP": 1.41667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 6.0,
"SO": 17.0,
"HR": 0.0,
"BF": 52.0,
"Pitches": 219.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.5,
"H": 1.1,
"BB": 0.6,
"SO": 1.7,
"HR": 0.0,
"BF": 5.2,
"Pitches": 21.9
},
"rates": {
"ERA": 3.75,
"WHIP": 1.4167,
"ER_per_IP": 0.41667,
"H_per_IP": 0.91667,
"BB_per_IP": 0.5,
"SO_per_IP": 1.41667,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.527,
"predicted_H": 1.171,
"predicted_BB": 0.51,
"predicted_SO": 1.398,
"predicted_HR": 0.132,
"predicted_ERA": 3.5549,
"predicted_WHIP": 1.2606
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.635,
"form_weight": 0.365,
"form_reliability": 0.3254,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.412,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3254,
"prior_weight": 0.6746
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.527,
"final": 0.8274,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.171,
"final": 1.6974,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.51,
"final": 0.1861,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.398,
"final": 1.1453,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.132,
"final": 0.6832,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5549,
"final": 3.5549,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2606,
"final": 1.2606,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dylan Smith |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0809 |
| ESPN Rank | 247 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.1263 |
| Season WHIP | 1.3263 |
| Role Avg IP | 0.9310 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"opponent": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"edges": {
"quality_edge": -0.1095,
"offense_edge": -0.073,
"opponent_offense_edge": 0.0889,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0455,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.991,
"run_prevention": 1.0234,
"strikeout": 0.9896
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681916",
"profile": {
"available": true,
"pitcher_id": "681916",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 29.7,
"bb_percent": 10.9,
"woba": 0.295,
"xwoba": 0.297,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 46.3,
"avg_best_speed": 79.1586,
"avg_hyper_speed": 94.5655,
"whiff_percent": 27.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0798,
"command_and_miss": 0.5414,
"regression_edge": -0.0571,
"xwoba_edge": 0.4,
"barrel_edge": 0.2222,
"hard_hit_edge": -1.2143,
"whiff_edge": 0.3714,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0809,
"sample_weight": 0.45,
"run_prevention_factor": 0.9931,
"strikeout_factor": 1.0267,
"walk_factor": 1.0162,
"homer_factor": 1.0085,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681916",
"espn_id": 4414123,
"player_name": "Dylan Smith",
"team": "SF",
"role": "pitcher",
"espn_rank": 247,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 247,
"gp_value": 34.0,
"gp_rank": 191,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.1263,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 4.0,
"sv_rank": 52,
"hld_value": 7.0,
"hld_rank": 125,
"ip_value": 31.2,
"ip_rank": 414,
"h_value": 27.0,
"h_rank": 429,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 15.0,
"bb_rank": 371,
"k_value": 41.0,
"k_rank": 333,
"k_per_9_value": 11.652632,
"k_per_9_rank": 21,
"whip_value": 1.3263,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9969,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.012,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 4,
"H": 10,
"BB": 4,
"SO": 17,
"HR": 1,
"ERA": 3.483870967741936,
"WHIP": 1.3548387096774195,
"K9": 14.806451612903228,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "681916",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.365,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.56,
"prior_weight": 0.44
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681916",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.8,
"H": 1.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 17.6
},
"rates": {
"ERA": 4.1538,
"WHIP": 2.0769,
"ER_per_IP": 0.46154,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 4.0,
"R": 6.0,
"H": 10.0,
"BB": 4.0,
"SO": 17.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 1.7,
"HR": 0.1,
"BF": 4.3,
"Pitches": 18.1
},
"rates": {
"ERA": 3.4839,
"WHIP": 1.3548,
"ER_per_IP": 0.3871,
"H_per_IP": 0.96774,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.64516,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 34,
"totals": {
"IP": 31.2,
"ER": 11.0,
"R": 14.0,
"H": 27.0,
"BB": 15.0,
"SO": 41.0,
"HR": 3.0,
"BF": 138.0,
"Pitches": 556.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.4118,
"H": 0.7941,
"BB": 0.4412,
"SO": 1.2059,
"HR": 0.0882,
"BF": 4.0588,
"Pitches": 16.3529
},
"rates": {
"ERA": 3.1263,
"WHIP": 1.3263,
"ER_per_IP": 0.34737,
"H_per_IP": 0.85263,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.29474,
"HR_per_IP": 0.09474
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.45,
"predicted_H": 1.12,
"predicted_BB": 0.408,
"predicted_SO": 1.23,
"predicted_HR": 0.152,
"predicted_ERA": 4.0502,
"predicted_WHIP": 1.5286
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5359,
"form_weight": 0.4641,
"form_reliability": 0.56,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.365,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.56,
"prior_weight": 0.44
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.45,
"final": 0.2088,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.12,
"final": 1.0557,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.408,
"final": 0.1894,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.23,
"final": 1.6426,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.0705,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0502,
"final": 4.0502,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5286,
"final": 1.5286,
"source": "form_only"
}
}
}{
"available": false,
"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 | Carson Seymour |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3474 |
| ESPN Rank | 594 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.5000 |
| Season WHIP | 1.5000 |
| Role Avg IP | 1.4620 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"opponent": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"edges": {
"quality_edge": -0.1095,
"offense_edge": -0.073,
"opponent_offense_edge": 0.0889,
"defense_strength": -0.0367,
"opponent_defense_weakness": 0.0455,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.991,
"run_prevention": 1.0234,
"strikeout": 0.9896
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693313",
"profile": {
"available": true,
"pitcher_id": "693313",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 59.0,
"k_percent": 17.5,
"bb_percent": 9.3,
"woba": 0.348,
"xwoba": 0.375,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 40.0,
"avg_best_speed": 76.8345,
"avg_hyper_speed": 94.0856,
"whiff_percent": 21.0,
"swing_percent": 47.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.0074,
"command_and_miss": -0.5029,
"regression_edge": -0.7714,
"xwoba_edge": -1.8286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.6,
"bb_edge": -0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "693313",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3474,
"sample_weight": 0.45,
"run_prevention_factor": 1.0295,
"strikeout_factor": 0.9779,
"walk_factor": 1.0018,
"homer_factor": 1.0407,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693313",
"espn_id": 4420745,
"player_name": "Carson Seymour",
"team": "SF",
"role": "pitcher",
"espn_rank": 594,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 594,
"gp_value": 14.0,
"gp_rank": 467,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 5.0,
"hld_rank": 163,
"ip_value": 22.0,
"ip_rank": 486,
"h_value": 24.0,
"h_rank": 459,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 9.0,
"bb_rank": 497,
"k_value": 17.0,
"k_rank": 501,
"k_per_9_value": 6.9545455,
"k_per_9_rank": 27,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0133,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0133,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0008,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0183,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9901,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 2,
"H": 10,
"BB": 3,
"SO": 13,
"HR": 1,
"ERA": 1.3846153846153846,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.6923076923076923,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "693313",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 4.422,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4693,
"prior_weight": 0.5307
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "693313",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 4.8,
"Pitches": 19.2
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.2353,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 2.0,
"R": 3.0,
"H": 10.0,
"BB": 3.0,
"SO": 13.0,
"HR": 1.0,
"BF": 53.0,
"Pitches": 198.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.3,
"H": 1.0,
"BB": 0.3,
"SO": 1.3,
"HR": 0.1,
"BF": 5.3,
"Pitches": 19.8
},
"rates": {
"ERA": 1.3846,
"WHIP": 1.0,
"ER_per_IP": 0.15385,
"H_per_IP": 0.76923,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.0,
"HR_per_IP": 0.07692
}
},
"season": {
"games": 14,
"totals": {
"IP": 22.0,
"ER": 11.0,
"R": 12.0,
"H": 24.0,
"BB": 9.0,
"SO": 17.0,
"HR": 3.0,
"BF": 97.0,
"Pitches": 372.0
},
"per_game": {
"IP": 1.2,
"ER": 0.7857,
"R": 0.8571,
"H": 1.7143,
"BB": 0.6429,
"SO": 1.2143,
"HR": 0.2143,
"BF": 6.9286,
"Pitches": 26.5714
},
"rates": {
"ERA": 4.5,
"WHIP": 1.5,
"ER_per_IP": 0.5,
"H_per_IP": 1.09091,
"BB_per_IP": 0.40909,
"SO_per_IP": 0.77273,
"HR_per_IP": 0.13636
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.314,
"predicted_H": 0.711,
"predicted_BB": 0.265,
"predicted_SO": 0.675,
"predicted_HR": 0.107,
"predicted_ERA": 3.6972,
"predicted_WHIP": 1.279
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5742,
"form_weight": 0.4258,
"form_reliability": 0.4693,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.422,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4693,
"prior_weight": 0.5307
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.314,
"final": 1.8564,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.711,
"final": 2.0254,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.265,
"final": 0.6871,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.675,
"final": 0.8616,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.107,
"final": 0.6198,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6972,
"final": 3.6972,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.279,
"final": 1.279,
"source": "form_only"
}
}
}{
"available": false,
"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.191 | 0.000 | 1.000 | Hitting_2B | 0.190 | 1.000 | -0.190 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.564 | 4.000 | 5.000 | Hitting_AB | 3.671 | 3.000 | 0.329 | 1.000 |
| predicted_AVG | 0.263 | 0.250 | 0.200 | Hitting_AVG | 0.259 | 0.333 | -0.009 | -0.083 |
| predicted_BB | 0.532 | 0.000 | 1.000 | Hitting_BB | 0.542 | 1.000 | -0.542 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.936 | 1.000 | 1.000 | Hitting_H | 0.951 | 1.000 | 0.049 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_OBP | 0.358 | 0.250 | 0.333 | Hitting_OBP | 0.353 | 0.400 | -0.103 | -0.150 |
| predicted_R | 0.468 | 1.000 | 1.000 | Hitting_R | 0.545 | 0.000 | 0.455 | 1.000 |
| predicted_RBI | 0.479 | 1.000 | 1.000 | Hitting_RBI | 0.435 | 2.000 | 0.565 | -1.000 |
| predicted_SLG | 0.451 | 0.250 | 0.400 | Hitting_SLG | 0.464 | 0.667 | -0.214 | -0.417 |
| predicted_SO | 1.085 | 1.000 | 1.000 | Hitting_SO | 1.101 | 1.000 | -0.101 | 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 | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_R: 0.4680 -> 1.0000 (boost 0.5320, better) |
| Biggest Deboost | predicted_BB: 0.5320 -> 0.0000 (deboost -0.5320, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_RBI: 0.4790 -> 0.6047 (boost 0.1257, 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 | 3 | 3 | 4 | 2 | predicted_BB: 0.5696 -> 1.0000 (boost 0.4304, better) | predicted_2B: 0.1996 -> 0.0000 (deboost -0.1996, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4314 -> 0.0000 (deboost -0.4314, 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 | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4560 -> 0.4640 (boost 0.0080, 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_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4640 -> 0.4560 (deboost -0.0080, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.191,
"predicted_3B": 0.0,
"predicted_AB": 3.564,
"predicted_AVG": 0.263,
"predicted_BB": 0.532,
"predicted_H": 0.936,
"predicted_HR": 0.16,
"predicted_OBP": 0.358,
"predicted_R": 0.468,
"predicted_RBI": 0.479,
"predicted_SLG": 0.451,
"predicted_SO": 1.085
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1996,
"predicted_3B": 0.0004,
"predicted_AB": 3.6168,
"predicted_AVG": 0.2847,
"predicted_BB": 0.5732,
"predicted_H": 1.0308,
"predicted_HBP": 0.002,
"predicted_HR": 0.1424,
"predicted_OBP": 0.3777,
"predicted_R": 0.4358,
"predicted_RBI": 0.6047,
"predicted_SLG": 0.4584,
"predicted_SO": 1.0503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.1996,
"delta": 0.0086,
"percent_delta": 0.045,
"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.564,
"after": 3.6168,
"delta": 0.0528,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2847,
"delta": 0.0217,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5732,
"delta": 0.0412,
"percent_delta": 0.0774,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.936,
"after": 1.0308,
"delta": 0.0948,
"percent_delta": 0.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1424,
"delta": -0.0176,
"percent_delta": -0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3777,
"delta": 0.0197,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4358,
"delta": -0.0322,
"percent_delta": -0.0688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.479,
"after": 0.6047,
"delta": 0.1257,
"percent_delta": 0.2624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4584,
"delta": 0.0074,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.085,
"after": 1.0503,
"delta": -0.0347,
"percent_delta": -0.032,
"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_RBI",
"before": 0.479,
"after": 0.6047,
"delta": 0.1257,
"percent_delta": 0.2624,
"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": 94
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1996,
"predicted_3B": 0.0004,
"predicted_AB": 3.6168,
"predicted_AVG": 0.2836,
"predicted_BB": 0.5696,
"predicted_H": 1.0256,
"predicted_HBP": 0.002,
"predicted_HR": 0.141,
"predicted_OBP": 0.3811,
"predicted_R": 0.4314,
"predicted_RBI": 0.5987,
"predicted_SLG": 0.456,
"predicted_SO": 1.0568
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.1996,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6168,
"after": 3.6168,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2847,
"after": 0.2836,
"delta": -0.0011,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5732,
"after": 0.5696,
"delta": -0.0036,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0308,
"after": 1.0256,
"delta": -0.0052,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1424,
"after": 0.141,
"delta": -0.0014,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3777,
"after": 0.3811,
"delta": 0.0034,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4358,
"after": 0.4314,
"delta": -0.0044,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6047,
"after": 0.5987,
"delta": -0.006,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4584,
"after": 0.456,
"delta": -0.0024,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0503,
"after": 1.0568,
"delta": 0.0065,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.62), rates preserved: AVG=0.284 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6168,
"after": 4.0,
"delta": 0.3832,
"percent_delta": 0.106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5696,
"after": 1.0,
"delta": 0.4304,
"percent_delta": 0.7556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0256,
"after": 1.0,
"delta": -0.0256,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5987,
"after": 1.0,
"delta": 0.4013,
"percent_delta": 0.6703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0568,
"after": 1.0,
"delta": -0.0568,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5696,
"after": 1.0,
"delta": 0.4304,
"percent_delta": 0.7556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4314,
"after": 0.0,
"delta": -0.4314,
"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.4314,
"after": 0.0,
"delta": -0.4314,
"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": 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": 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": 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": 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": 4.0,
"predicted_AVG": 0.284,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.386,
"predicted_R": 0.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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2836,
"after": 0.284,
"delta": 0.0004,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3811,
"after": 0.386,
"delta": 0.0049,
"percent_delta": 0.0129,
"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_SLG",
"before": 0.456,
"after": 0.464,
"delta": 0.008,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.464,
"delta": 0.008,
"percent_delta": 0.0175,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2836,
"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.3811,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.456,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.2836,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.386,
"after": 0.3811,
"delta": -0.0049,
"percent_delta": -0.0128,
"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.464,
"after": 0.456,
"delta": -0.008,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.464,
"after": 0.456,
"delta": -0.008,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.564,
"after": 4.0,
"delta": 0.436,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2836,
"delta": 0.0206,
"percent_delta": 0.0783,
"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.936,
"after": 1.0,
"delta": 0.064,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3811,
"delta": 0.0231,
"percent_delta": 0.0645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.479,
"after": 1.0,
"delta": 0.521,
"percent_delta": 1.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.456,
"delta": 0.005,
"percent_delta": 0.0111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.085,
"after": 1.0,
"delta": -0.085,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"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.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.564 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.532 | - |
| predicted_H | 0.936 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.479 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 1.085 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.617 | 0.053 |
| predicted_AVG | 0.285 | 0.022 |
| predicted_BB | 0.573 | 0.041 |
| predicted_H | 1.031 | 0.095 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.142 | -0.018 |
| predicted_OBP | 0.378 | 0.020 |
| predicted_R | 0.436 | -0.032 |
| predicted_RBI | 0.605 | 0.126 |
| predicted_SLG | 0.458 | 0.007 |
| predicted_SO | 1.050 | -0.035 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.617 | 0.000 |
| predicted_AVG | 0.284 | -0.001 |
| predicted_BB | 0.570 | -0.004 |
| predicted_H | 1.026 | -0.005 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.141 | -0.001 |
| predicted_OBP | 0.381 | 0.003 |
| predicted_R | 0.431 | -0.004 |
| predicted_RBI | 0.599 | -0.006 |
| predicted_SLG | 0.456 | -0.002 |
| predicted_SO | 1.057 | 0.006 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.200 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.383 |
| predicted_AVG | 0.284 | 0.000 |
| predicted_BB | 1.000 | 0.430 |
| predicted_H | 1.000 | -0.026 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.386 | 0.005 |
| predicted_R | 0.000 | -0.431 |
| predicted_RBI | 1.000 | 0.401 |
| predicted_SLG | 0.464 | 0.008 |
| 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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 8.000 | 1.000 | 0.000 | 0.000 | 7.000 | 1.000 | 5.000 | 4.000 | 0.4211 | 0.5200 | 0.4737 | 0.4210 | 0.0000 | 0.3684 | 0.2632 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 15.000 | 3.000 | 0.000 | 1.000 | 12.000 | 3.000 | 7.000 | 10.000 | 0.3846 | 0.4681 | 0.5385 | 0.3846 | 0.0256 | 0.3077 | 0.1795 | 0.2564 |
| season | 0.60 | 94 | - | 335.000 | 88.000 | 18.000 | 0.000 | 15.000 | 45.000 | 44.000 | 50.000 | 102.000 | 0.2627 | 0.3566 | 0.4507 | 0.2627 | 0.0448 | 0.1343 | 0.1492 | 0.3045 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2110 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6870 |
| predicted_AVG | 0.3137 |
| predicted_BB | 0.6280 |
| predicted_H | 1.1570 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.4040 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.7720 |
| predicted_SLG | 0.4682 |
| predicted_SO | 1.0040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.2110 | 0.1996 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5640 | 3.6870 | 3.6168 | model_form_blend |
| predicted_AVG | 0.2630 | 0.3137 | 0.2847 | model_form_blend |
| predicted_BB | 0.5320 | 0.6280 | 0.5732 | model_form_blend |
| predicted_H | 0.9360 | 1.1570 | 1.0308 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1600 | 0.1190 | 0.1424 | model_form_blend |
| predicted_OBP | 0.3580 | 0.4040 | 0.3777 | model_form_blend |
| predicted_R | 0.4680 | 0.3930 | 0.4358 | model_form_blend |
| predicted_RBI | 0.4790 | 0.7720 | 0.6047 | model_form_blend |
| predicted_SLG | 0.4510 | 0.4682 | 0.4584 | model_form_blend |
| predicted_SO | 1.0850 | 1.0040 | 1.0503 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 347 |
| Season rows before report date | 347 |
| Report year | 2026 |
| Profile rows used | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.354 |
| sl_xwoba | 0.357 |
| sl_xba | 0.258 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 52.1 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.230 | 0.000 | 0.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.741 | 3.000 | 5.000 | Hitting_AB | 3.812 | 3.000 | -0.812 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.200 | Hitting_AVG | 0.256 | 0.667 | -0.256 | -0.667 |
| predicted_BB | 0.468 | 1.000 | 1.000 | Hitting_BB | 0.447 | 2.000 | 0.553 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.957 | 0.000 | 1.000 | Hitting_H | 0.976 | 2.000 | -0.976 | -2.000 |
| predicted_HR | 0.223 | 0.000 | 1.000 | Hitting_HR | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_OBP | 0.338 | 0.250 | 0.333 | Hitting_OBP | 0.332 | 0.800 | -0.082 | -0.550 |
| predicted_R | 0.583 | 0.000 | 1.000 | Hitting_R | 0.579 | 2.000 | -0.579 | -2.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.581 | 1.000 | -0.581 | -1.000 |
| predicted_SLG | 0.500 | 0.000 | 0.800 | Hitting_SLG | 0.488 | 1.667 | -0.488 | -1.667 |
| predicted_SO | 1.072 | 1.000 | 1.000 | Hitting_SO | 1.108 | 0.000 | -0.108 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4680 -> 1.0000 (boost 0.5320, better) |
| Biggest Deboost | predicted_H: 0.9570 -> 0.0000 (deboost -0.9570, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 9 | 0 | predicted_RBI: 0.5900 -> 0.7129 (boost 0.1229, better) | predicted_SO: 1.0720 -> 1.0145 (deboost -0.0575, 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 | 3 | 3 | 3 | 3 | predicted_BB: 0.5479 -> 1.0000 (boost 0.4521, better) | predicted_HR: 0.2805 -> 0.0000 (deboost -0.2805, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.282 HR/AB=0.075 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6842 -> 1.0000 (boost 0.3158, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 5.0000 -> 4.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_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": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.007,
"predicted_AB": 3.741,
"predicted_AVG": 0.256,
"predicted_BB": 0.468,
"predicted_H": 0.957,
"predicted_HR": 0.223,
"predicted_OBP": 0.338,
"predicted_R": 0.583,
"predicted_RBI": 0.59,
"predicted_SLG": 0.5,
"predicted_SO": 1.072
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2161,
"predicted_3B": 0.0061,
"predicted_AB": 3.7519,
"predicted_AVG": 0.2832,
"predicted_BB": 0.5513,
"predicted_H": 1.0625,
"predicted_HBP": 0.029,
"predicted_HR": 0.2832,
"predicted_OBP": 0.3719,
"predicted_R": 0.6911,
"predicted_RBI": 0.7129,
"predicted_SLG": 0.5701,
"predicted_SO": 1.0145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.2161,
"delta": -0.0139,
"percent_delta": -0.0604,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.741,
"after": 3.7519,
"delta": 0.0109,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2832,
"delta": 0.0272,
"percent_delta": 0.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 0.5513,
"delta": 0.0833,
"percent_delta": 0.178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.957,
"after": 1.0625,
"delta": 0.1055,
"percent_delta": 0.1102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.223,
"after": 0.2832,
"delta": 0.0602,
"percent_delta": 0.27,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3719,
"delta": 0.0339,
"percent_delta": 0.1003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.6911,
"delta": 0.1081,
"percent_delta": 0.1854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.7129,
"delta": 0.1229,
"percent_delta": 0.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.5701,
"delta": 0.0701,
"percent_delta": 0.1402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.072,
"after": 1.0145,
"delta": -0.0575,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 9,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.7129,
"delta": 0.1229,
"percent_delta": 0.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.072,
"after": 1.0145,
"delta": -0.0575,
"percent_delta": -0.0536,
"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": 139
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2161,
"predicted_3B": 0.0061,
"predicted_AB": 3.7519,
"predicted_AVG": 0.2818,
"predicted_BB": 0.5479,
"predicted_H": 1.0572,
"predicted_HBP": 0.029,
"predicted_HR": 0.2805,
"predicted_OBP": 0.3733,
"predicted_R": 0.6842,
"predicted_RBI": 0.7058,
"predicted_SLG": 0.5669,
"predicted_SO": 1.0208
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2161,
"after": 0.2161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7519,
"after": 3.7519,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2832,
"after": 0.2818,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5513,
"after": 0.5479,
"delta": -0.0034,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0625,
"after": 1.0572,
"delta": -0.0053,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2832,
"after": 0.2805,
"delta": -0.0027,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3719,
"after": 0.3733,
"delta": 0.0014,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6911,
"after": 0.6842,
"delta": -0.0069,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7129,
"after": 0.7058,
"delta": -0.0071,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5701,
"after": 0.5669,
"delta": -0.0032,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0145,
"after": 1.0208,
"delta": 0.0063,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.75), rates preserved: AVG=0.282 HR/AB=0.075",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2161,
"after": 0.0,
"delta": -0.2161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7519,
"after": 4.0,
"delta": 0.2481,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5479,
"after": 1.0,
"delta": 0.4521,
"percent_delta": 0.8252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0572,
"after": 1.0,
"delta": -0.0572,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2805,
"after": 0.0,
"delta": -0.2805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7058,
"after": 1.0,
"delta": 0.2942,
"percent_delta": 0.4168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0208,
"after": 1.0,
"delta": -0.0208,
"percent_delta": -0.0204,
"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.5479,
"after": 1.0,
"delta": 0.4521,
"percent_delta": 0.8252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2805,
"after": 0.0,
"delta": -0.2805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"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.6842,
"after": 1.0,
"delta": 0.3158,
"percent_delta": 0.4616,
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.282,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.378,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.567,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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_AVG",
"before": 0.2818,
"after": 0.282,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3733,
"after": 0.378,
"delta": 0.0047,
"percent_delta": 0.0126,
"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.5669,
"after": 0.567,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2818,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3733,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5669,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2818,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.378,
"after": 0.3733,
"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.567,
"after": 0.5669,
"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": 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.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.741,
"after": 3.0,
"delta": -0.741,
"percent_delta": -0.1981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2818,
"delta": 0.0258,
"percent_delta": 0.1008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.957,
"after": 0.0,
"delta": -0.957,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.223,
"after": 0.0,
"delta": -0.223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3733,
"delta": 0.0353,
"percent_delta": 0.1044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.5669,
"delta": 0.0669,
"percent_delta": 0.1338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.072,
"after": 1.0,
"delta": -0.072,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.957,
"after": 0.0,
"delta": -0.957,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.007 | - |
| predicted_AB | 3.741 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.468 | - |
| predicted_H | 0.957 | - |
| predicted_HR | 0.223 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 1.072 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.752 | 0.011 |
| predicted_AVG | 0.283 | 0.027 |
| predicted_BB | 0.551 | 0.083 |
| predicted_H | 1.062 | 0.106 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.283 | 0.060 |
| predicted_OBP | 0.372 | 0.034 |
| predicted_R | 0.691 | 0.108 |
| predicted_RBI | 0.713 | 0.123 |
| predicted_SLG | 0.570 | 0.070 |
| predicted_SO | 1.014 | -0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.752 | 0.000 |
| predicted_AVG | 0.282 | -0.001 |
| predicted_BB | 0.548 | -0.003 |
| predicted_H | 1.057 | -0.005 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.281 | -0.003 |
| predicted_OBP | 0.373 | 0.001 |
| predicted_R | 0.684 | -0.007 |
| predicted_RBI | 0.706 | -0.007 |
| predicted_SLG | 0.567 | -0.003 |
| predicted_SO | 1.021 | 0.006 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.282 HR/AB=0.075
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 5.000 | 1.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.216 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.248 |
| predicted_AVG | 0.282 | 0.000 |
| predicted_BB | 1.000 | 0.452 |
| predicted_H | 1.000 | -0.057 |
| predicted_HR | 0.000 | -0.281 |
| predicted_OBP | 0.378 | 0.005 |
| predicted_R | 1.000 | 0.316 |
| predicted_RBI | 1.000 | 0.294 |
| predicted_SLG | 0.567 | 0.000 |
| predicted_SO | 1.000 | -0.021 |
Attached 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 | -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 | - | 19.000 | 8.000 | 1.000 | 0.000 | 3.000 | 7.000 | 6.000 | 6.000 | 4.000 | 0.4211 | 0.5600 | 0.9474 | 0.4210 | 0.1579 | 0.3684 | 0.3158 | 0.2105 |
| last_10 | 0.20 | 10 | - | 38.000 | 16.000 | 1.000 | 0.000 | 6.000 | 13.000 | 13.000 | 8.000 | 7.000 | 0.4211 | 0.5319 | 0.9211 | 0.4210 | 0.1579 | 0.3421 | 0.2105 | 0.1842 |
| season | 0.60 | 139 | - | 520.000 | 133.000 | 32.000 | 1.000 | 31.000 | 82.000 | 81.000 | 65.000 | 149.000 | 0.2558 | 0.3384 | 0.5000 | 0.2558 | 0.0596 | 0.1577 | 0.1250 | 0.2865 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7660 |
| predicted_AVG | 0.3184 |
| predicted_BB | 0.6590 |
| predicted_H | 1.1990 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.3610 |
| predicted_OBP | 0.4158 |
| predicted_R | 0.8310 |
| predicted_RBI | 0.8720 |
| predicted_SLG | 0.6608 |
| predicted_SO | 0.9400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.1980 | 0.2161 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.7410 | 3.7660 | 3.7519 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3184 | 0.2832 | model_form_blend |
| predicted_BB | 0.4680 | 0.6590 | 0.5513 | model_form_blend |
| predicted_H | 0.9570 | 1.1990 | 1.0625 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2230 | 0.3610 | 0.2832 | model_form_blend |
| predicted_OBP | 0.3380 | 0.4158 | 0.3719 | model_form_blend |
| predicted_R | 0.5830 | 0.8310 | 0.6911 | model_form_blend |
| predicted_RBI | 0.5900 | 0.8720 | 0.7129 | model_form_blend |
| predicted_SLG | 0.5000 | 0.6608 | 0.5701 | model_form_blend |
| predicted_SO | 1.0720 | 0.9400 | 1.0145 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 544 |
| Season rows before report date | 544 |
| Report year | 2026 |
| Profile rows used | 139 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 1 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.358 |
| sl_xwoba | 0.338 |
| sl_xba | 0.235 |
| sl_xslg | 0.464 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 47.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.124 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_AB | 2.810 | 3.000 | 4.000 | Hitting_AB | 3.079 | 3.000 | -0.079 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_BB | 0.238 | 2.000 | 0.000 | Hitting_BB | 0.327 | 1.000 | 1.673 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.667 | 0.000 | 1.000 | Hitting_H | 0.770 | 0.000 | -0.770 | 0.000 |
| predicted_HR | 0.076 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.297 | 0.400 | 0.250 | Hitting_OBP | 0.337 | 0.250 | 0.063 | 0.150 |
| predicted_R | 0.371 | 0.000 | 0.000 | Hitting_R | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_RBI | 0.343 | 0.000 | 1.000 | Hitting_RBI | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.250 | Hitting_SLG | 0.402 | 0.000 | -0.402 | 0.000 |
| predicted_SO | 0.562 | 2.000 | 1.000 | Hitting_SO | 0.594 | 0.000 | 1.406 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.2380 -> 2.0000 (boost 1.7620, better) |
| Biggest Deboost | predicted_H: 0.6670 -> 0.0000 (deboost -0.6670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2370 -> 0.2195 (deboost -0.0175, worse) | Final model input calibrated with local 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.2918 -> 0.2808 (deboost -0.0110, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.5646 -> 1.0000 (boost 0.4354, worse) | predicted_RBI: 0.3611 -> 0.0000 (deboost -0.3611, worse) | AB rounded to 3 (raw=2.85), rates preserved: AVG=0.218 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3841 -> 0.0000 (deboost -0.3841, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.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.2808 -> 0.2860 (boost 0.0052, better) | predicted_AB: 4.0000 -> 3.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 -> 2.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_OBP: 0.2860 -> 0.2808 (deboost -0.0052, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687551",
"player_name": "Drew Gilbert",
"position": "RF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.029,
"predicted_AB": 2.81,
"predicted_AVG": 0.237,
"predicted_BB": 0.238,
"predicted_H": 0.667,
"predicted_HR": 0.076,
"predicted_OBP": 0.297,
"predicted_R": 0.371,
"predicted_RBI": 0.343,
"predicted_SLG": 0.383,
"predicted_SO": 0.562
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1295,
"predicted_3B": 0.0239,
"predicted_AB": 2.8513,
"predicted_AVG": 0.2195,
"predicted_BB": 0.2495,
"predicted_H": 0.6253,
"predicted_HBP": 0.115,
"predicted_HR": 0.0896,
"predicted_OBP": 0.2918,
"predicted_R": 0.388,
"predicted_RBI": 0.3647,
"predicted_SLG": 0.376,
"predicted_SO": 0.5611
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.1295,
"delta": 0.0055,
"percent_delta": 0.0444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0239,
"delta": -0.0051,
"percent_delta": -0.1759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.81,
"after": 2.8513,
"delta": 0.0413,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2195,
"delta": -0.0175,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 0.2495,
"delta": 0.0115,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.667,
"after": 0.6253,
"delta": -0.0417,
"percent_delta": -0.0625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.076,
"after": 0.0896,
"delta": 0.0136,
"percent_delta": 0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2918,
"delta": -0.0052,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 0.388,
"delta": 0.017,
"percent_delta": 0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.343,
"after": 0.3647,
"delta": 0.0217,
"percent_delta": 0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.376,
"delta": -0.007,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 0.5611,
"delta": -0.0009,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.237,
"after": 0.2195,
"delta": -0.0175,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1295,
"predicted_3B": 0.0239,
"predicted_AB": 2.8513,
"predicted_AVG": 0.2182,
"predicted_BB": 0.248,
"predicted_H": 0.6222,
"predicted_HBP": 0.115,
"predicted_HR": 0.0887,
"predicted_OBP": 0.2808,
"predicted_R": 0.3841,
"predicted_RBI": 0.3611,
"predicted_SLG": 0.3737,
"predicted_SO": 0.5646
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1295,
"after": 0.1295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8513,
"after": 2.8513,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.2182,
"delta": -0.0013,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2495,
"after": 0.248,
"delta": -0.0015,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6253,
"after": 0.6222,
"delta": -0.0031,
"percent_delta": -0.005,
"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.0896,
"after": 0.0887,
"delta": -0.0009,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2918,
"after": 0.2808,
"delta": -0.011,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.3841,
"delta": -0.0039,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3647,
"after": 0.3611,
"delta": -0.0036,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3737,
"delta": -0.0023,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5611,
"after": 0.5646,
"delta": 0.0035,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2918,
"after": 0.2808,
"delta": -0.011,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.85), rates preserved: AVG=0.218 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1295,
"after": 0.0,
"delta": -0.1295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0,
"delta": -0.0239,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8513,
"after": 3.0,
"delta": 0.1487,
"percent_delta": 0.0522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6222,
"after": 1.0,
"delta": 0.3778,
"percent_delta": 0.6072,
"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.0887,
"after": 0.0,
"delta": -0.0887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3611,
"after": 0.0,
"delta": -0.3611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5646,
"after": 1.0,
"delta": 0.4354,
"percent_delta": 0.7712,
"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.5646,
"after": 1.0,
"delta": 0.4354,
"percent_delta": 0.7712,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3611,
"after": 0.0,
"delta": -0.3611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3841,
"after": 0.0,
"delta": -0.3841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3841,
"after": 0.0,
"delta": -0.3841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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_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": 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.218,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2808,
"after": 0.286,
"delta": 0.0052,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3737,
"after": 0.374,
"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.2808,
"after": 0.286,
"delta": 0.0052,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 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": 2.0,
"delta": 2.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.2182,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2808,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3737,
"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.218,
"after": 0.2182,
"delta": 0.0002,
"percent_delta": 0.0009,
"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.286,
"after": 0.2808,
"delta": -0.0052,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3737,
"delta": -0.0003,
"percent_delta": -0.0007,
"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.286,
"after": 0.2808,
"delta": -0.0052,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.81,
"after": 3.0,
"delta": 0.19,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2182,
"delta": -0.0188,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.238,
"after": 2.0,
"delta": 1.762,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2808,
"delta": -0.0162,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3737,
"delta": -0.0093,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 2.0,
"delta": 1.438,
"percent_delta": 2.5587,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.238,
"after": 2.0,
"delta": 1.762,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 2.810 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.238 | - |
| predicted_H | 0.667 | - |
| predicted_HR | 0.076 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.371 | - |
| predicted_RBI | 0.343 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 0.562 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | 0.006 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 2.851 | 0.041 |
| predicted_AVG | 0.220 | -0.017 |
| predicted_BB | 0.249 | 0.012 |
| predicted_H | 0.625 | -0.042 |
| predicted_HBP | 0.115 | - |
| predicted_HR | 0.090 | 0.014 |
| predicted_OBP | 0.292 | -0.005 |
| predicted_R | 0.388 | 0.017 |
| predicted_RBI | 0.365 | 0.022 |
| predicted_SLG | 0.376 | -0.007 |
| predicted_SO | 0.561 | -0.001 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 2.851 | 0.000 |
| predicted_AVG | 0.218 | -0.001 |
| predicted_BB | 0.248 | -0.002 |
| predicted_H | 0.622 | -0.003 |
| predicted_HBP | 0.115 | 0.000 |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.281 | -0.011 |
| predicted_R | 0.384 | -0.004 |
| predicted_RBI | 0.361 | -0.004 |
| predicted_SLG | 0.374 | -0.002 |
| predicted_SO | 0.565 | 0.003 |
AB rounded to 3 (raw=2.85), rates preserved: AVG=0.218 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.130 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 3.000 | 0.149 |
| predicted_AVG | 0.218 | -0.000 |
| predicted_BB | 0.000 | -0.248 |
| predicted_H | 1.000 | 0.378 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.286 | 0.005 |
| predicted_R | 0.000 | -0.384 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.374 | 0.000 |
| 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 | 3.000 | -1.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 2.000 | 0.0714 | 0.2222 | 0.2857 | 0.0714 | 0.0714 | 0.1429 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 3.000 | 0.000 | 1.000 | 5.000 | 5.000 | 2.000 | 6.000 | 0.1724 | 0.2647 | 0.3793 | 0.1724 | 0.0345 | 0.1724 | 0.0690 | 0.2069 |
| season | 0.60 | 105 | - | 295.000 | 70.000 | 13.000 | 3.000 | 8.000 | 36.000 | 39.000 | 25.000 | 59.000 | 0.2373 | 0.3091 | 0.3831 | 0.2373 | 0.0271 | 0.1220 | 0.0848 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0170 |
| predicted_AB | 2.9070 |
| predicted_AVG | 0.1959 |
| predicted_BB | 0.2650 |
| predicted_H | 0.5690 |
| predicted_HBP | 0.1150 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.2847 |
| predicted_R | 0.4110 |
| predicted_RBI | 0.3940 |
| predicted_SLG | 0.3666 |
| predicted_SO | 0.5600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1240 | 0.1370 | 0.1295 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 2.8100 | 2.9070 | 2.8513 | model_form_blend |
| predicted_AVG | 0.2370 | 0.1959 | 0.2195 | model_form_blend |
| predicted_BB | 0.2380 | 0.2650 | 0.2495 | model_form_blend |
| predicted_H | 0.6670 | 0.5690 | 0.6253 | model_form_blend |
| predicted_HBP | - | 0.1150 | 0.1150 | form_only |
| predicted_HR | 0.0760 | 0.1080 | 0.0896 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2847 | 0.2918 | model_form_blend |
| predicted_R | 0.3710 | 0.4110 | 0.3880 | model_form_blend |
| predicted_RBI | 0.3430 | 0.3940 | 0.3647 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3666 | 0.3760 | model_form_blend |
| predicted_SO | 0.5620 | 0.5600 | 0.5611 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 318 |
| Season rows before report date | 318 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | CF |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 687551 |
| playerID | 687551 |
| playerName | Drew Gilbert |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.312 |
| sl_xwoba | 0.329 |
| sl_xba | 0.257 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.357 | 0.000 | 1.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 4.000 | Hitting_AB | 2.857 | 4.000 | 1.143 | 0.000 |
| predicted_AVG | 0.333 | 0.250 | 0.250 | Hitting_AVG | 0.283 | 0.250 | -0.033 | 0.000 |
| predicted_BB | 0.357 | 0.000 | 1.000 | Hitting_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 0.810 | 1.000 | 0.190 | 0.000 |
| predicted_HR | 0.000 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.404 | 0.250 | 0.400 | Hitting_OBP | 0.355 | 0.200 | -0.105 | 0.050 |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_RBI | 0.786 | 2.000 | 1.000 | Hitting_RBI | 0.810 | 2.000 | 1.190 | 0.000 |
| predicted_SLG | 0.452 | 1.000 | 0.500 | Hitting_SLG | 0.367 | 0.250 | 0.633 | 0.750 |
| predicted_SO | 0.429 | 0.000 | 0.000 | Hitting_SO | 0.571 | 0.000 | -0.571 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.7860 -> 2.0000 (boost 1.2140, better) |
| Biggest Deboost | predicted_SO: 0.4290 -> 0.0000 (deboost -0.4290, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0000 -> 3.1233 (boost 0.1233, better) | predicted_OBP: 0.4040 -> 0.3920 (deboost -0.0120, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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 | 1 | 5 | 2 | 4 | predicted_RBI: 0.7798 -> 1.0000 (boost 0.2202, better) | predicted_SO: 0.4685 -> 0.0000 (deboost -0.4685, better) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.323 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4538 -> 0.0000 (deboost -0.4538, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 4 | 4 | 0 | 4 | 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 | 5 | 1 | 4 | 1 | 4 | predicted_SLG: 0.4453 -> 0.4520 (boost 0.0067, 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_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_SLG: 0.4520 -> 0.4453 (deboost -0.0067, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806367",
"player_name": "Turner Hill",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.357,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.357,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.404,
"predicted_R": 0.429,
"predicted_RBI": 0.786,
"predicted_SLG": 0.452,
"predicted_SO": 0.429
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3334,
"predicted_3B": 0.0017,
"predicted_AB": 3.1233,
"predicted_AVG": 0.3254,
"predicted_BB": 0.3519,
"predicted_H": 1.0154,
"predicted_HBP": 0.08,
"predicted_HR": 0.0147,
"predicted_OBP": 0.392,
"predicted_R": 0.4584,
"predicted_RBI": 0.7877,
"predicted_SLG": 0.4472,
"predicted_SO": 0.4656
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.357,
"after": 0.3334,
"delta": -0.0236,
"percent_delta": -0.0661,
"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.1233,
"delta": 0.1233,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3254,
"delta": -0.0076,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.3519,
"delta": -0.0051,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0154,
"delta": 0.0154,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0147,
"delta": 0.0147,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.404,
"after": 0.392,
"delta": -0.012,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.4584,
"delta": 0.0294,
"percent_delta": 0.0685,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.786,
"after": 0.7877,
"delta": 0.0017,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4472,
"delta": -0.0048,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.4656,
"delta": 0.0366,
"percent_delta": 0.0853,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1233,
"delta": 0.1233,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.404,
"after": 0.392,
"delta": -0.012,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 14
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3334,
"predicted_3B": 0.0017,
"predicted_AB": 3.1233,
"predicted_AVG": 0.3235,
"predicted_BB": 0.3497,
"predicted_H": 1.0103,
"predicted_HBP": 0.08,
"predicted_HR": 0.0146,
"predicted_OBP": 0.3916,
"predicted_R": 0.4538,
"predicted_RBI": 0.7798,
"predicted_SLG": 0.4453,
"predicted_SO": 0.4685
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3334,
"after": 0.3334,
"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.1233,
"after": 3.1233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3254,
"after": 0.3235,
"delta": -0.0019,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3519,
"after": 0.3497,
"delta": -0.0022,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0154,
"after": 1.0103,
"delta": -0.0051,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0147,
"after": 0.0146,
"delta": -0.0001,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.392,
"after": 0.3916,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4584,
"after": 0.4538,
"delta": -0.0046,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7877,
"after": 0.7798,
"delta": -0.0079,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4472,
"after": 0.4453,
"delta": -0.0019,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4656,
"after": 0.4685,
"delta": 0.0029,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.12), rates preserved: AVG=0.323 HR/AB=0.005",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3334,
"after": 0.0,
"delta": -0.3334,
"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.1233,
"after": 3.0,
"delta": -0.1233,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3497,
"after": 0.0,
"delta": -0.3497,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0103,
"after": 1.0,
"delta": -0.0103,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0146,
"after": 0.0,
"delta": -0.0146,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7798,
"after": 1.0,
"delta": 0.2202,
"percent_delta": 0.2824,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4538,
"after": 0.0,
"delta": -0.4538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4538,
"after": 0.0,
"delta": -0.4538,
"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": 1.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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.323,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.396,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.452,
"predicted_SO": 0.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3235,
"after": 0.323,
"delta": -0.0005,
"percent_delta": -0.0015,
"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.3916,
"after": 0.396,
"delta": 0.0044,
"percent_delta": 0.0112,
"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_SLG",
"before": 0.4453,
"after": 0.452,
"delta": 0.0067,
"percent_delta": 0.015,
"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": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4453,
"after": 0.452,
"delta": 0.0067,
"percent_delta": 0.015,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.3235,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3916,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4453,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.323,
"after": 0.3235,
"delta": 0.0005,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.396,
"after": 0.3916,
"delta": -0.0044,
"percent_delta": -0.0111,
"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.452,
"after": 0.4453,
"delta": -0.0067,
"percent_delta": -0.0148,
"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.452,
"after": 0.4453,
"delta": -0.0067,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3235,
"delta": -0.0095,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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_OBP",
"before": 0.404,
"after": 0.3916,
"delta": -0.0124,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4453,
"delta": -0.0067,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"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_RBI",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"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.357 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.333 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.404 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.786 | - |
| predicted_SLG | 0.452 | - |
| predicted_SO | 0.429 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.333 | -0.024 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.123 | 0.123 |
| predicted_AVG | 0.325 | -0.008 |
| predicted_BB | 0.352 | -0.005 |
| predicted_H | 1.015 | 0.015 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.015 | 0.015 |
| predicted_OBP | 0.392 | -0.012 |
| predicted_R | 0.458 | 0.029 |
| predicted_RBI | 0.788 | 0.002 |
| predicted_SLG | 0.447 | -0.005 |
| predicted_SO | 0.466 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.333 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.123 | 0.000 |
| predicted_AVG | 0.324 | -0.002 |
| predicted_BB | 0.350 | -0.002 |
| predicted_H | 1.010 | -0.005 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.015 | -0.000 |
| predicted_OBP | 0.392 | -0.000 |
| predicted_R | 0.454 | -0.005 |
| predicted_RBI | 0.780 | -0.008 |
| predicted_SLG | 0.445 | -0.002 |
| predicted_SO | 0.469 | 0.003 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.323 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 1.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 1.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.333 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.123 |
| predicted_AVG | 0.323 | -0.001 |
| predicted_BB | 0.000 | -0.350 |
| predicted_H | 1.000 | -0.010 |
| predicted_HR | 0.000 | -0.015 |
| predicted_OBP | 0.396 | 0.004 |
| predicted_R | 0.000 | -0.454 |
| predicted_RBI | 1.000 | 0.220 |
| predicted_SLG | 0.452 | 0.007 |
| predicted_SO | 0.000 | -0.469 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 7.000 | 4.000 | 2.000 | 1.000 | 0.3750 | 0.4286 | 0.4375 | 0.3750 | 0.0000 | 0.4375 | 0.1250 | 0.0625 |
| last_10 | 0.20 | 10 | - | 33.000 | 12.000 | 4.000 | 0.000 | 0.000 | 9.000 | 5.000 | 4.000 | 4.000 | 0.3636 | 0.4250 | 0.4848 | 0.3636 | 0.0000 | 0.2727 | 0.1212 | 0.1212 |
| season | 0.60 | 14 | - | 42.000 | 14.000 | 5.000 | 0.000 | 0.000 | 11.000 | 6.000 | 5.000 | 6.000 | 0.3333 | 0.3922 | 0.4524 | 0.3333 | 0.0000 | 0.2619 | 0.1191 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2880 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3610 |
| predicted_AVG | 0.3108 |
| predicted_BB | 0.3420 |
| predicted_H | 1.0450 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.0430 |
| predicted_OBP | 0.3688 |
| predicted_R | 0.5150 |
| predicted_RBI | 0.7910 |
| predicted_SLG | 0.4379 |
| predicted_SO | 0.5360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3570 | 0.2880 | 0.3334 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.0000 | 3.3610 | 3.1233 | model_form_blend |
| predicted_AVG | 0.3330 | 0.3108 | 0.3254 | model_form_blend |
| predicted_BB | 0.3570 | 0.3420 | 0.3519 | model_form_blend |
| predicted_H | 1.0000 | 1.0450 | 1.0154 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.0000 | 0.0430 | 0.0147 | model_form_blend |
| predicted_OBP | 0.4040 | 0.3688 | 0.3920 | model_form_blend |
| predicted_R | 0.4290 | 0.5150 | 0.4584 | model_form_blend |
| predicted_RBI | 0.7860 | 0.7910 | 0.7877 | model_form_blend |
| predicted_SLG | 0.4520 | 0.4379 | 0.4472 | model_form_blend |
| predicted_SO | 0.4290 | 0.5360 | 0.4656 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 806367 |
| playerID | 806367 |
| playerName | Turner Hill |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 11.5 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.37 |
| sl_xwoba | 0.365 |
| sl_xba | 0.298 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 39.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 4.000 | Hitting_AB | 2.111 | 2.000 | 1.889 | 2.000 |
| predicted_AVG | 0.320 | 0.000 | 0.250 | Hitting_AVG | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_BB | 0.227 | 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.360 | 0.000 | 1.000 | Hitting_H | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.250 | Hitting_OBP | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_R | 0.114 | 0.000 | 0.000 | Hitting_R | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 1.000 | Hitting_RBI | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.315 | 0.000 | 0.250 | Hitting_SLG | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_SO | 0.682 | 1.000 | 1.000 | Hitting_SO | 0.556 | 0.000 | 0.444 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_H: 0.3600 -> 0.0000 (deboost -0.3600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_AB: 2.5000 -> 2.6187 (boost 0.1187, better) | predicted_AVG: 0.3200 -> 0.2961 (deboost -0.0239, worse) | Final model input calibrated with local 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.2961 -> 0.1728 (deboost -0.1233, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 2 | 3 | predicted_H: 0.4526 -> 1.0000 (boost 0.5474, better) | predicted_RBI: 0.2937 -> 0.0000 (deboost -0.2937, worse) | AB rounded to 3 (raw=2.62), rates preserved: AVG=0.173 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1635 -> 0.0000 (deboost -0.1635, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 2 | 2 | 2 | 2 | predicted_SLG: 0.2250 -> 0.2710 (boost 0.0460, better) | predicted_AB: 4.0000 -> 3.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_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.2710 -> 0.2250 (deboost -0.0460, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "801501",
"player_name": "Nate Furman",
"position": "2B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.32,
"predicted_BB": 0.227,
"predicted_H": 0.36,
"predicted_HR": 0.03,
"predicted_OBP": 0.32,
"predicted_R": 0.114,
"predicted_RBI": 0.27,
"predicted_SLG": 0.315,
"predicted_SO": 0.682
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0218,
"predicted_3B": 0.0017,
"predicted_AB": 2.6187,
"predicted_AVG": 0.2961,
"predicted_BB": 0.2273,
"predicted_H": 0.4549,
"predicted_HBP": 0.014,
"predicted_HR": 0.0375,
"predicted_OBP": 0.3133,
"predicted_R": 0.1652,
"predicted_RBI": 0.2967,
"predicted_SLG": 0.318,
"predicted_SO": 0.6806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0218,
"delta": 0.0218,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6187,
"delta": 0.1187,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.2961,
"delta": -0.0239,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.2273,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.4549,
"delta": 0.0949,
"percent_delta": 0.2636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0375,
"delta": 0.0075,
"percent_delta": 0.25,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3133,
"delta": -0.0067,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.114,
"after": 0.1652,
"delta": 0.0512,
"percent_delta": 0.4491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2967,
"delta": 0.0267,
"percent_delta": 0.0989,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.318,
"delta": 0.003,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.6806,
"delta": -0.0014,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6187,
"delta": 0.1187,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.2961,
"delta": -0.0239,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 12
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0218,
"predicted_3B": 0.0017,
"predicted_AB": 2.6187,
"predicted_AVG": 0.1728,
"predicted_BB": 0.2259,
"predicted_H": 0.4526,
"predicted_HBP": 0.014,
"predicted_HR": 0.0371,
"predicted_OBP": 0.2385,
"predicted_R": 0.1635,
"predicted_RBI": 0.2937,
"predicted_SLG": 0.225,
"predicted_SO": 0.6848
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0218,
"after": 0.0218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6187,
"after": 2.6187,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2961,
"after": 0.1728,
"delta": -0.1233,
"percent_delta": -0.4164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2273,
"after": 0.2259,
"delta": -0.0014,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4549,
"after": 0.4526,
"delta": -0.0023,
"percent_delta": -0.0051,
"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.0375,
"after": 0.0371,
"delta": -0.0004,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3133,
"after": 0.2385,
"delta": -0.0748,
"percent_delta": -0.2387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1652,
"after": 0.1635,
"delta": -0.0017,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2967,
"after": 0.2937,
"delta": -0.003,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.225,
"delta": -0.093,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6806,
"after": 0.6848,
"delta": 0.0042,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2961,
"after": 0.1728,
"delta": -0.1233,
"percent_delta": -0.4164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.62), rates preserved: AVG=0.173 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0218,
"after": 0.0,
"delta": -0.0218,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6187,
"after": 3.0,
"delta": 0.3813,
"percent_delta": 0.1456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2259,
"after": 0.0,
"delta": -0.2259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4526,
"after": 1.0,
"delta": 0.5474,
"percent_delta": 1.2095,
"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.0371,
"after": 0.0,
"delta": -0.0371,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2937,
"after": 0.0,
"delta": -0.2937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6848,
"after": 1.0,
"delta": 0.3152,
"percent_delta": 0.4603,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4526,
"after": 1.0,
"delta": 0.5474,
"percent_delta": 1.2095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2937,
"after": 0.0,
"delta": -0.2937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.1635,
"after": 0.0,
"delta": -0.1635,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1635,
"after": 0.0,
"delta": -0.1635,
"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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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_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": 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.173,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.245,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.271,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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_AVG",
"before": 0.1728,
"after": 0.173,
"delta": 0.0002,
"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.2385,
"after": 0.245,
"delta": 0.0065,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.225,
"after": 0.271,
"delta": 0.046,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.225,
"after": 0.271,
"delta": 0.046,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1728,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2385,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.225,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1728,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.245,
"after": 0.2385,
"delta": -0.0065,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.271,
"after": 0.225,
"delta": -0.046,
"percent_delta": -0.1697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.271,
"after": 0.225,
"delta": -0.046,
"percent_delta": -0.1697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.1728,
"delta": -0.1472,
"percent_delta": -0.46,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.2385,
"delta": -0.0815,
"percent_delta": -0.2547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.225,
"delta": -0.09,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 1.0,
"delta": 0.318,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.320 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.114 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.315 | - |
| predicted_SO | 0.682 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.022 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.619 | 0.119 |
| predicted_AVG | 0.296 | -0.024 |
| predicted_BB | 0.227 | 0.000 |
| predicted_H | 0.455 | 0.095 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.037 | 0.007 |
| predicted_OBP | 0.313 | -0.007 |
| predicted_R | 0.165 | 0.051 |
| predicted_RBI | 0.297 | 0.027 |
| predicted_SLG | 0.318 | 0.003 |
| predicted_SO | 0.681 | -0.001 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.022 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.619 | 0.000 |
| predicted_AVG | 0.173 | -0.123 |
| predicted_BB | 0.226 | -0.001 |
| predicted_H | 0.453 | -0.002 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.037 | -0.000 |
| predicted_OBP | 0.238 | -0.075 |
| predicted_R | 0.164 | -0.002 |
| predicted_RBI | 0.294 | -0.003 |
| predicted_SLG | 0.225 | -0.093 |
| predicted_SO | 0.685 | 0.004 |
AB rounded to 3 (raw=2.62), rates preserved: AVG=0.173 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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.022 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.381 |
| predicted_AVG | 0.173 | 0.000 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.547 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.245 | 0.007 |
| predicted_R | 0.000 | -0.164 |
| predicted_RBI | 0.000 | -0.294 |
| predicted_SLG | 0.271 | 0.046 |
| predicted_SO | 1.000 | 0.315 |
Attached simulation box 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 | - | 9.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.3333 | 0.4000 | 0.3333 | 0.3333 | 0.0000 | 0.2222 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 5.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.1177 | 0.0588 | 0.2941 |
| season | 0.60 | 12 | - | 22.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 6.000 | 0.1818 | 0.2500 | 0.1818 | 0.1818 | 0.0000 | 0.0909 | 0.0909 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0760 |
| predicted_3B | 0.0060 |
| predicted_AB | 2.9130 |
| predicted_AVG | 0.2368 |
| predicted_BB | 0.2280 |
| predicted_H | 0.6900 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.2967 |
| predicted_R | 0.2920 |
| predicted_RBI | 0.3630 |
| predicted_SLG | 0.3253 |
| predicted_SO | 0.6770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0760 | 0.0218 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0017 | model_form_blend |
| predicted_AB | 2.5000 | 2.9130 | 2.6187 | model_form_blend |
| predicted_AVG | 0.3200 | 0.2368 | 0.2961 | model_form_blend |
| predicted_BB | 0.2270 | 0.2280 | 0.2273 | model_form_blend |
| predicted_H | 0.3600 | 0.6900 | 0.4549 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0300 | 0.0560 | 0.0375 | model_form_blend |
| predicted_OBP | 0.3200 | 0.2967 | 0.3133 | model_form_blend |
| predicted_R | 0.1140 | 0.2920 | 0.1652 | model_form_blend |
| predicted_RBI | 0.2700 | 0.3630 | 0.2967 | model_form_blend |
| predicted_SLG | 0.3150 | 0.3253 | 0.3180 | model_form_blend |
| predicted_SO | 0.6820 | 0.6770 | 0.6806 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 12 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| 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 | 2B |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 801501 |
| playerID | 801501 |
| playerName | Nate Furman |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.226 |
| sl_xwoba | 0.244 |
| sl_xba | 0.191 |
| sl_xslg | 0.226 |
| sl_sweet_spot_percent | 16.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.7 |
| sl_exit_velocity_avg | 81.6 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.088 | 1.000 | 0.000 | Hitting_2B | 0.200 | 1.000 | 0.800 | 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 | 4.000 | Hitting_AB | 3.400 | 4.000 | 0.600 | 0.000 |
| predicted_AVG | 0.167 | 0.250 | 0.000 | Hitting_AVG | 0.118 | 0.250 | 0.132 | 0.000 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.400 | 1.000 | 0.000 | Hitting_H | 0.400 | 1.000 | 0.600 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.174 | 0.250 | 0.000 | Hitting_OBP | 0.118 | 0.250 | 0.132 | 0.000 |
| predicted_R | 0.175 | 1.000 | 0.000 | Hitting_R | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_RBI | 0.250 | 1.000 | 0.000 | Hitting_RBI | 0.300 | 0.000 | 0.700 | 1.000 |
| predicted_SLG | 0.305 | 0.500 | 0.000 | Hitting_SLG | 0.265 | 0.500 | 0.235 | 0.000 |
| predicted_SO | 0.965 | 1.000 | 1.000 | Hitting_SO | 1.100 | 1.000 | -0.100 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 7 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 2 |
| Better Metrics | 5 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_HR: 0.0900 -> 0.0000 (deboost -0.0900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AB: 2.5000 -> 2.7130 (boost 0.2130, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.1780 -> 0.1694 (deboost -0.0086, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 2.7130 -> 3.0000 (boost 0.2870, better) | predicted_H: 0.4380 -> 0.0000 (deboost -0.4380, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.161 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1995 -> 0.0000 (deboost -0.1995, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.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.3097 -> 0.3170 (boost 0.0073, better) | predicted_AB: 4.0000 -> 3.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3170 -> 0.3097 (deboost -0.0073, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694376",
"player_name": "Shay Whitcomb",
"position": "3B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.088,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 0.4,
"predicted_HR": 0.09,
"predicted_OBP": 0.174,
"predicted_R": 0.175,
"predicted_RBI": 0.25,
"predicted_SLG": 0.305,
"predicted_SO": 0.965
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1072,
"predicted_3B": 0.0014,
"predicted_AB": 2.713,
"predicted_AVG": 0.1665,
"predicted_BB": 0.0262,
"predicted_H": 0.4402,
"predicted_HBP": 0.009,
"predicted_HR": 0.0984,
"predicted_OBP": 0.178,
"predicted_R": 0.2015,
"predicted_RBI": 0.2825,
"predicted_SLG": 0.3116,
"predicted_SO": 0.9667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.1072,
"delta": 0.0192,
"percent_delta": 0.2182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.713,
"delta": 0.213,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1665,
"delta": -0.0005,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0262,
"delta": 0.0262,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.4402,
"delta": 0.0402,
"percent_delta": 0.1005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0984,
"delta": 0.0084,
"percent_delta": 0.0933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.174,
"after": 0.178,
"delta": 0.004,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.175,
"after": 0.2015,
"delta": 0.0265,
"percent_delta": 0.1514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2825,
"delta": 0.0325,
"percent_delta": 0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.3116,
"delta": 0.0066,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 0.9667,
"delta": 0.0017,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.713,
"delta": 0.213,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 24
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1072,
"predicted_3B": 0.0014,
"predicted_AB": 2.713,
"predicted_AVG": 0.1614,
"predicted_BB": 0.026,
"predicted_H": 0.438,
"predicted_HBP": 0.009,
"predicted_HR": 0.0974,
"predicted_OBP": 0.1694,
"predicted_R": 0.1995,
"predicted_RBI": 0.2797,
"predicted_SLG": 0.3097,
"predicted_SO": 0.9727
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1072,
"after": 0.1072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.713,
"after": 2.713,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1665,
"after": 0.1614,
"delta": -0.0051,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0262,
"after": 0.026,
"delta": -0.0002,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4402,
"after": 0.438,
"delta": -0.0022,
"percent_delta": -0.005,
"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.0984,
"after": 0.0974,
"delta": -0.001,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.178,
"after": 0.1694,
"delta": -0.0086,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2015,
"after": 0.1995,
"delta": -0.002,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2825,
"after": 0.2797,
"delta": -0.0028,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3116,
"after": 0.3097,
"delta": -0.0019,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9667,
"after": 0.9727,
"delta": 0.006,
"percent_delta": 0.0062,
"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.178,
"after": 0.1694,
"delta": -0.0086,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.71), rates preserved: AVG=0.161 HR/AB=0.036",
"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.1072,
"after": 0.0,
"delta": -0.1072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.713,
"after": 3.0,
"delta": 0.287,
"percent_delta": 0.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"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.0974,
"after": 0.0,
"delta": -0.0974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2797,
"after": 0.0,
"delta": -0.2797,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9727,
"after": 1.0,
"delta": 0.0273,
"percent_delta": 0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.713,
"after": 3.0,
"delta": 0.287,
"percent_delta": 0.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.1995,
"after": 0.0,
"delta": -0.1995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1995,
"after": 0.0,
"delta": -0.1995,
"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": 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": 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_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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_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": 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.161,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.175,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.317,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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_AVG",
"before": 0.1614,
"after": 0.161,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1694,
"after": 0.175,
"delta": 0.0056,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3097,
"after": 0.317,
"delta": 0.0073,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3097,
"after": 0.317,
"delta": 0.0073,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 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.1614,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1694,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3097,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.161,
"after": 0.1614,
"delta": 0.0004,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.175,
"after": 0.1694,
"delta": -0.0056,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3097,
"delta": -0.0073,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.317,
"after": 0.3097,
"delta": -0.0073,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 1.0,
"delta": 0.912,
"percent_delta": 10.3636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1614,
"delta": -0.0056,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.174,
"after": 0.1694,
"delta": -0.0046,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.175,
"after": 1.0,
"delta": 0.825,
"percent_delta": 4.7143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.3097,
"delta": 0.0047,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 1.0,
"delta": 0.035,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 2,
"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_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.167 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.174 | - |
| predicted_R | 0.175 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.305 | - |
| predicted_SO | 0.965 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | 0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.713 | 0.213 |
| predicted_AVG | 0.167 | -0.001 |
| predicted_BB | 0.026 | 0.026 |
| predicted_H | 0.440 | 0.040 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.098 | 0.008 |
| predicted_OBP | 0.178 | 0.004 |
| predicted_R | 0.202 | 0.027 |
| predicted_RBI | 0.282 | 0.032 |
| predicted_SLG | 0.312 | 0.007 |
| predicted_SO | 0.967 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.713 | 0.000 |
| predicted_AVG | 0.161 | -0.005 |
| predicted_BB | 0.026 | -0.000 |
| predicted_H | 0.438 | -0.002 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.097 | -0.001 |
| predicted_OBP | 0.169 | -0.009 |
| predicted_R | 0.200 | -0.002 |
| predicted_RBI | 0.280 | -0.003 |
| predicted_SLG | 0.310 | -0.002 |
| predicted_SO | 0.973 | 0.006 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.161 HR/AB=0.036
| 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 | 4.000 | 1.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.107 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.287 |
| predicted_AVG | 0.161 | -0.000 |
| predicted_BB | 0.000 | -0.026 |
| predicted_H | 0.000 | -0.438 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.175 | 0.006 |
| predicted_R | 0.000 | -0.200 |
| predicted_RBI | 0.000 | -0.280 |
| predicted_SLG | 0.317 | 0.007 |
| predicted_SO | 1.000 | 0.027 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 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 | - | 16.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.1250 | 0.1250 | 0.1875 | 0.1250 | 0.0000 | 0.0000 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 34.000 | 4.000 | 2.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 11.000 | 0.1176 | 0.1176 | 0.2647 | 0.1177 | 0.0294 | 0.0882 | 0.0000 | 0.3235 |
| season | 0.60 | 24 | - | 57.000 | 7.000 | 2.000 | 0.000 | 3.000 | 8.000 | 4.000 | 0.000 | 22.000 | 0.1228 | 0.1228 | 0.3158 | 0.1228 | 0.0526 | 0.1404 | 0.0000 | 0.3860 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1100 |
| predicted_AVG | 0.1656 |
| predicted_BB | 0.0750 |
| predicted_H | 0.5150 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.1854 |
| predicted_R | 0.2510 |
| predicted_RBI | 0.3430 |
| predicted_SLG | 0.3239 |
| predicted_SO | 0.9700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.1430 | 0.1072 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 3.1100 | 2.7130 | model_form_blend |
| predicted_AVG | 0.1670 | 0.1656 | 0.1665 | model_form_blend |
| predicted_BB | 0.0000 | 0.0750 | 0.0262 | model_form_blend |
| predicted_H | 0.4000 | 0.5150 | 0.4402 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0900 | 0.1140 | 0.0984 | model_form_blend |
| predicted_OBP | 0.1740 | 0.1854 | 0.1780 | model_form_blend |
| predicted_R | 0.1750 | 0.2510 | 0.2015 | model_form_blend |
| predicted_RBI | 0.2500 | 0.3430 | 0.2825 | model_form_blend |
| predicted_SLG | 0.3050 | 0.3239 | 0.3116 | model_form_blend |
| predicted_SO | 0.9650 | 0.9700 | 0.9667 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260902_SF@PIT |
| game_type | full |
| mlbID | 694376 |
| playerID | 694376 |
| playerName | Shay Whitcomb |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 36.7 |
| sl_bb_percent | 1.7 |
| sl_woba | 0.192 |
| sl_xwoba | 0.218 |
| sl_xba | 0.155 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 32.4 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 24.3 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 50.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 1.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | 0.889 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 4.000 | Hitting_AB | 3.167 | 4.000 | 0.833 | 0.000 |
| predicted_AVG | 0.205 | 0.250 | 0.250 | Hitting_AVG | 0.213 | 0.250 | 0.037 | 0.000 |
| predicted_BB | 0.114 | 0.000 | 0.000 | Hitting_BB | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.614 | 1.000 | 1.000 | Hitting_H | 0.676 | 1.000 | 0.324 | 0.000 |
| predicted_HR | 0.023 | 0.000 | 0.000 | Hitting_HR | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_OBP | 0.234 | 0.250 | 0.250 | Hitting_OBP | 0.238 | 0.250 | 0.012 | 0.000 |
| predicted_R | 0.364 | 0.000 | 0.000 | Hitting_R | 0.287 | 2.000 | -0.287 | -2.000 |
| predicted_RBI | 0.114 | 0.000 | 0.000 | Hitting_RBI | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_SLG | 0.265 | 0.500 | 0.250 | Hitting_SLG | 0.257 | 0.250 | 0.243 | 0.250 |
| predicted_SO | 0.864 | 0.000 | 1.000 | Hitting_SO | 0.843 | 0.000 | -0.843 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.8640 -> 0.0000 (deboost -0.8640, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 3.1094 (boost 0.1094, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6382 -> 1.0000 (boost 0.3618, better) | predicted_RBI: 0.1527 -> 0.0000 (deboost -0.1527, worse) | AB rounded to 3 (raw=3.11), rates preserved: AVG=0.205 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4245 -> 0.0000 (deboost -0.4245, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.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.2711 -> 0.2790 (boost 0.0079, better) | predicted_AB: 4.0000 -> 3.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 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2790 -> 0.2711 (deboost -0.0079, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683766",
"player_name": "Christian Koss",
"position": "SS",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.114,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.205,
"predicted_BB": 0.114,
"predicted_H": 0.614,
"predicted_HR": 0.023,
"predicted_OBP": 0.234,
"predicted_R": 0.364,
"predicted_RBI": 0.114,
"predicted_SLG": 0.265,
"predicted_SO": 0.864
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1041,
"predicted_3B": 0.0008,
"predicted_AB": 3.1094,
"predicted_AVG": 0.2064,
"predicted_BB": 0.116,
"predicted_H": 0.6414,
"predicted_HBP": 0.034,
"predicted_HR": 0.0333,
"predicted_OBP": 0.2377,
"predicted_R": 0.4288,
"predicted_RBI": 0.1542,
"predicted_SLG": 0.2718,
"predicted_SO": 0.9085
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1041,
"delta": -0.0099,
"percent_delta": -0.0868,
"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.0,
"after": 3.1094,
"delta": 0.1094,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2064,
"delta": 0.0014,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.116,
"delta": 0.002,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.614,
"after": 0.6414,
"delta": 0.0274,
"percent_delta": 0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.023,
"after": 0.0333,
"delta": 0.0103,
"percent_delta": 0.4478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.234,
"after": 0.2377,
"delta": 0.0037,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.4288,
"delta": 0.0648,
"percent_delta": 0.178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.114,
"after": 0.1542,
"delta": 0.0402,
"percent_delta": 0.3526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.265,
"after": 0.2718,
"delta": 0.0068,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 0.9085,
"delta": 0.0445,
"percent_delta": 0.0515,
"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": 3.1094,
"delta": 0.1094,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 44
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1041,
"predicted_3B": 0.0008,
"predicted_AB": 3.1094,
"predicted_AVG": 0.2052,
"predicted_BB": 0.1153,
"predicted_H": 0.6382,
"predicted_HBP": 0.034,
"predicted_HR": 0.033,
"predicted_OBP": 0.2337,
"predicted_R": 0.4245,
"predicted_RBI": 0.1527,
"predicted_SLG": 0.2711,
"predicted_SO": 0.9141
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1041,
"after": 0.1041,
"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.1094,
"after": 3.1094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2064,
"after": 0.2052,
"delta": -0.0012,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.116,
"after": 0.1153,
"delta": -0.0007,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6414,
"after": 0.6382,
"delta": -0.0032,
"percent_delta": -0.005,
"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.0333,
"after": 0.033,
"delta": -0.0003,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2377,
"after": 0.2337,
"delta": -0.004,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4288,
"after": 0.4245,
"delta": -0.0043,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1542,
"after": 0.1527,
"delta": -0.0015,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2718,
"after": 0.2711,
"delta": -0.0007,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9085,
"after": 0.9141,
"delta": 0.0056,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.11), rates preserved: AVG=0.205 HR/AB=0.011",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1041,
"after": 0.0,
"delta": -0.1041,
"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.1094,
"after": 3.0,
"delta": -0.1094,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1153,
"after": 0.0,
"delta": -0.1153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_RBI",
"before": 0.1527,
"after": 0.0,
"delta": -0.1527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9141,
"after": 1.0,
"delta": 0.0859,
"percent_delta": 0.094,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.1527,
"after": 0.0,
"delta": -0.1527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4245,
"after": 0.0,
"delta": -0.4245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4245,
"after": 0.0,
"delta": -0.4245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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_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": 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.205,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.24,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.279,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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_AVG",
"before": 0.2052,
"after": 0.205,
"delta": -0.0002,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2337,
"after": 0.24,
"delta": 0.0063,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2711,
"after": 0.279,
"delta": 0.0079,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2711,
"after": 0.279,
"delta": 0.0079,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2052,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2711,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2052,
"delta": 0.0002,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.24,
"after": 0.2337,
"delta": -0.0063,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.279,
"after": 0.2711,
"delta": -0.0079,
"percent_delta": -0.0285,
"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.279,
"after": 0.2711,
"delta": -0.0079,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 1.0,
"delta": 0.886,
"percent_delta": 7.7719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2052,
"delta": 0.0002,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.614,
"after": 1.0,
"delta": 0.386,
"percent_delta": 0.6287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.234,
"after": 0.2337,
"delta": -0.0003,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.265,
"after": 0.2711,
"delta": 0.0061,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 0.0,
"delta": -0.864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"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_SO",
"before": 0.864,
"after": 0.0,
"delta": -0.864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.114 | - |
| predicted_H | 0.614 | - |
| predicted_HR | 0.023 | - |
| predicted_OBP | 0.234 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.114 | - |
| predicted_SLG | 0.265 | - |
| predicted_SO | 0.864 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | -0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.109 | 0.109 |
| predicted_AVG | 0.206 | 0.001 |
| predicted_BB | 0.116 | 0.002 |
| predicted_H | 0.641 | 0.027 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.033 | 0.010 |
| predicted_OBP | 0.238 | 0.004 |
| predicted_R | 0.429 | 0.065 |
| predicted_RBI | 0.154 | 0.040 |
| predicted_SLG | 0.272 | 0.007 |
| predicted_SO | 0.908 | 0.044 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.109 | 0.000 |
| predicted_AVG | 0.205 | -0.001 |
| predicted_BB | 0.115 | -0.001 |
| predicted_H | 0.638 | -0.003 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.033 | -0.000 |
| predicted_OBP | 0.234 | -0.004 |
| predicted_R | 0.424 | -0.004 |
| predicted_RBI | 0.153 | -0.002 |
| predicted_SLG | 0.271 | -0.001 |
| predicted_SO | 0.914 | 0.006 |
AB rounded to 3 (raw=3.11), rates preserved: AVG=0.205 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 1.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.104 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.109 |
| predicted_AVG | 0.205 | -0.000 |
| predicted_BB | 0.000 | -0.115 |
| predicted_H | 1.000 | 0.362 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.240 | 0.006 |
| predicted_R | 0.000 | -0.424 |
| predicted_RBI | 0.000 | -0.153 |
| predicted_SLG | 0.279 | 0.008 |
| predicted_SO | 1.000 | 0.086 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 0.000 | 6.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0556 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 8.000 | 1.000 | 12.000 | 0.2188 | 0.2647 | 0.3125 | 0.2188 | 0.0312 | 0.0938 | 0.0312 | 0.3750 |
| season | 0.60 | 44 | - | 132.000 | 27.000 | 5.000 | 0.000 | 1.000 | 5.000 | 16.000 | 5.000 | 38.000 | 0.2045 | 0.2391 | 0.2652 | 0.2046 | 0.0076 | 0.0379 | 0.0379 | 0.2879 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2750 |
| predicted_AVG | 0.2084 |
| predicted_BB | 0.1190 |
| predicted_H | 0.6830 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0490 |
| predicted_OBP | 0.2433 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.2150 |
| predicted_SLG | 0.2822 |
| predicted_SO | 0.9760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.0890 | 0.1041 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0000 | 3.2750 | 3.1094 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2084 | 0.2064 | model_form_blend |
| predicted_BB | 0.1140 | 0.1190 | 0.1160 | model_form_blend |
| predicted_H | 0.6140 | 0.6830 | 0.6414 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.0230 | 0.0490 | 0.0333 | model_form_blend |
| predicted_OBP | 0.2340 | 0.2433 | 0.2377 | model_form_blend |
| predicted_R | 0.3640 | 0.5270 | 0.4288 | model_form_blend |
| predicted_RBI | 0.1140 | 0.2150 | 0.1542 | model_form_blend |
| predicted_SLG | 0.2650 | 0.2822 | 0.2718 | model_form_blend |
| predicted_SO | 0.8640 | 0.9760 | 0.9085 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 108 |
| Season rows before report date | 108 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 683766 |
| playerID | 683766 |
| playerName | Christian Koss |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.23 |
| sl_xwoba | 0.234 |
| sl_xba | 0.204 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 30.6 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.185 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 4.000 | Hitting_AB | 2.312 | 0.000 | 0.688 | 3.000 |
| predicted_AVG | 0.308 | 0.333 | 0.250 | Hitting_AVG | 0.162 | - | 0.171 | - |
| predicted_BB | 0.185 | 1.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | 0.750 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.360 | 1.000 | 1.000 | Hitting_H | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.310 | 0.500 | 0.250 | Hitting_OBP | 0.262 | - | 0.238 | - |
| predicted_R | 0.278 | 1.000 | 0.000 | Hitting_R | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_SLG | 0.422 | 0.333 | 0.250 | Hitting_SLG | 0.297 | - | 0.036 | - |
| predicted_SO | 0.370 | 0.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | -0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1850 -> 1.0000 (boost 0.8150, better) |
| Biggest Deboost | predicted_SO: 0.3700 -> 0.0000 (deboost -0.3700, 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 | 2 | 2 | predicted_AB: 2.5000 -> 2.6938 (boost 0.1938, better) | predicted_AVG: 0.3080 -> 0.2870 (deboost -0.0210, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2870 -> 0.1766 (deboost -0.1104, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_H: 0.4758 -> 1.0000 (boost 0.5242, better) | predicted_SO: 0.4395 -> 0.0000 (deboost -0.4395, better) | AB rounded to 3 (raw=2.69), rates preserved: AVG=0.177 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3117 -> 0.0000 (deboost -0.3117, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.3535 -> 0.3600 (boost 0.0065, better) | predicted_AB: 4.0000 -> 3.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_BB: 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.3600 -> 0.3535 (deboost -0.0065, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668800",
"player_name": "Andrew Knizner",
"position": "C",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.308,
"predicted_BB": 0.185,
"predicted_H": 0.36,
"predicted_HR": 0.09,
"predicted_OBP": 0.31,
"predicted_R": 0.278,
"predicted_RBI": 0.23,
"predicted_SLG": 0.422,
"predicted_SO": 0.37
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1956,
"predicted_3B": 0.0018,
"predicted_AB": 2.6938,
"predicted_AVG": 0.287,
"predicted_BB": 0.1905,
"predicted_H": 0.4782,
"predicted_HBP": 0.087,
"predicted_HR": 0.0933,
"predicted_OBP": 0.3084,
"predicted_R": 0.3148,
"predicted_RBI": 0.2346,
"predicted_SLG": 0.4183,
"predicted_SO": 0.4368
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.1956,
"delta": 0.0106,
"percent_delta": 0.0573,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6938,
"delta": 0.1938,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.287,
"delta": -0.021,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.1905,
"delta": 0.0055,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.4782,
"delta": 0.1182,
"percent_delta": 0.3283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0933,
"delta": 0.0033,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3084,
"delta": -0.0016,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.3148,
"delta": 0.0368,
"percent_delta": 0.1324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2346,
"delta": 0.0046,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4183,
"delta": -0.0037,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.37,
"after": 0.4368,
"delta": 0.0668,
"percent_delta": 0.1805,
"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_AB",
"before": 2.5,
"after": 2.6938,
"delta": 0.1938,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.287,
"delta": -0.021,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 11
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1956,
"predicted_3B": 0.0018,
"predicted_AB": 2.6938,
"predicted_AVG": 0.1766,
"predicted_BB": 0.1893,
"predicted_H": 0.4758,
"predicted_HBP": 0.087,
"predicted_HR": 0.0924,
"predicted_OBP": 0.2307,
"predicted_R": 0.3117,
"predicted_RBI": 0.2323,
"predicted_SLG": 0.3535,
"predicted_SO": 0.4395
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1956,
"after": 0.1956,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6938,
"after": 2.6938,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.1766,
"delta": -0.1104,
"percent_delta": -0.3847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1905,
"after": 0.1893,
"delta": -0.0012,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4782,
"after": 0.4758,
"delta": -0.0024,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0933,
"after": 0.0924,
"delta": -0.0009,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3084,
"after": 0.2307,
"delta": -0.0777,
"percent_delta": -0.2519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3148,
"after": 0.3117,
"delta": -0.0031,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2346,
"after": 0.2323,
"delta": -0.0023,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4183,
"after": 0.3535,
"delta": -0.0648,
"percent_delta": -0.1549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4368,
"after": 0.4395,
"delta": 0.0027,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.287,
"after": 0.1766,
"delta": -0.1104,
"percent_delta": -0.3847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.69), rates preserved: AVG=0.177 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1956,
"after": 0.0,
"delta": -0.1956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6938,
"after": 3.0,
"delta": 0.3062,
"percent_delta": 0.1137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1893,
"after": 0.0,
"delta": -0.1893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4758,
"after": 1.0,
"delta": 0.5242,
"percent_delta": 1.1017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0924,
"after": 0.0,
"delta": -0.0924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2323,
"after": 0.0,
"delta": -0.2323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4395,
"after": 0.0,
"delta": -0.4395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4758,
"after": 1.0,
"delta": 0.5242,
"percent_delta": 1.1017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4395,
"after": 0.0,
"delta": -0.4395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3117,
"after": 0.0,
"delta": -0.3117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3117,
"after": 0.0,
"delta": -0.3117,
"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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.177,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.237,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.36,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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_AVG",
"before": 0.1766,
"after": 0.177,
"delta": 0.0004,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.237,
"delta": 0.0063,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3535,
"after": 0.36,
"delta": 0.0065,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3535,
"after": 0.36,
"delta": 0.0065,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1766,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2307,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3535,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.177,
"after": 0.1766,
"delta": -0.0004,
"percent_delta": -0.0021,
"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.237,
"after": 0.2307,
"delta": -0.0063,
"percent_delta": -0.0266,
"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.36,
"after": 0.3535,
"delta": -0.0065,
"percent_delta": -0.0181,
"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.36,
"after": 0.3535,
"delta": -0.0065,
"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.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.308,
"after": 0.1766,
"delta": -0.1314,
"percent_delta": -0.4266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 1.0,
"delta": 0.815,
"percent_delta": 4.4054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2307,
"delta": -0.0793,
"percent_delta": -0.2558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 1.0,
"delta": 0.722,
"percent_delta": 2.5971,
"direction": "boost",
"projection_effect": "better",
"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.422,
"after": 0.3535,
"delta": -0.0685,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.185,
"after": 1.0,
"delta": 0.815,
"percent_delta": 4.4054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"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.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.308 | - |
| predicted_BB | 0.185 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.278 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 0.370 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | 0.011 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.694 | 0.194 |
| predicted_AVG | 0.287 | -0.021 |
| predicted_BB | 0.191 | 0.006 |
| predicted_H | 0.478 | 0.118 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.308 | -0.002 |
| predicted_R | 0.315 | 0.037 |
| predicted_RBI | 0.235 | 0.005 |
| predicted_SLG | 0.418 | -0.004 |
| predicted_SO | 0.437 | 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.196 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.694 | 0.000 |
| predicted_AVG | 0.177 | -0.110 |
| predicted_BB | 0.189 | -0.001 |
| predicted_H | 0.476 | -0.002 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.092 | -0.001 |
| predicted_OBP | 0.231 | -0.078 |
| predicted_R | 0.312 | -0.003 |
| predicted_RBI | 0.232 | -0.002 |
| predicted_SLG | 0.353 | -0.065 |
| predicted_SO | 0.440 | 0.003 |
AB rounded to 3 (raw=2.69), rates preserved: AVG=0.177 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 1.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 | 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.196 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.306 |
| predicted_AVG | 0.177 | 0.000 |
| predicted_BB | 0.000 | -0.189 |
| predicted_H | 1.000 | 0.524 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.237 | 0.006 |
| predicted_R | 0.000 | -0.312 |
| predicted_RBI | 0.000 | -0.232 |
| predicted_SLG | 0.360 | 0.007 |
| predicted_SO | 0.000 | -0.440 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2500 | 0.3077 | 0.4167 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 10 | - | 26.000 | 6.000 | 2.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2308 | 0.3103 | 0.4231 | 0.2308 | 0.0385 | 0.0385 | 0.0769 | 0.1538 |
| season | 0.60 | 11 | - | 27.000 | 6.000 | 2.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2222 | 0.3000 | 0.4074 | 0.2222 | 0.0370 | 0.0370 | 0.0741 | 0.1482 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.1380 |
| predicted_AVG | 0.2388 |
| predicted_BB | 0.2030 |
| predicted_H | 0.7490 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3046 |
| predicted_R | 0.3990 |
| predicted_RBI | 0.2450 |
| predicted_SLG | 0.4099 |
| predicted_SO | 0.5900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.2200 | 0.1956 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0018 | model_form_blend |
| predicted_AB | 2.5000 | 3.1380 | 2.6938 | model_form_blend |
| predicted_AVG | 0.3080 | 0.2388 | 0.2870 | model_form_blend |
| predicted_BB | 0.1850 | 0.2030 | 0.1905 | model_form_blend |
| predicted_H | 0.3600 | 0.7490 | 0.4782 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.0900 | 0.1010 | 0.0933 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3046 | 0.3084 | model_form_blend |
| predicted_R | 0.2780 | 0.3990 | 0.3148 | model_form_blend |
| predicted_RBI | 0.2300 | 0.2450 | 0.2346 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4099 | 0.4183 | model_form_blend |
| predicted_SO | 0.3700 | 0.5900 | 0.4368 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 11 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260901_SF@PIT |
| game_type | short |
| mlbID | 668800 |
| playerID | 668800 |
| playerName | Andrew Knizner |
| pos | C |
| started | False |
| startingPosition | C |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-01 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.312 |
| sl_xwoba | 0.287 |
| sl_xba | 0.213 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 17.4 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 27.9 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.072 | 0.000 | 0.000 | Hitting_2B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_3B | 0.072 | 1.000 | 0.000 | Hitting_3B | 0.094 | 0.000 | 0.906 | 1.000 |
| predicted_AB | 2.500 | 4.000 | 4.000 | Hitting_AB | 2.203 | 1.000 | 1.797 | 3.000 |
| predicted_AVG | 0.281 | 0.250 | 0.250 | Hitting_AVG | 0.284 | 0.000 | -0.034 | 0.250 |
| predicted_BB | 0.145 | 0.000 | 0.000 | Hitting_BB | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 0.230 | 1.000 | 1.000 | Hitting_H | 0.625 | 0.000 | 0.375 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.344 | 0.250 | 0.250 | Hitting_OBP | 0.303 | 0.000 | -0.053 | 0.250 |
| predicted_R | 0.399 | 1.000 | 1.000 | Hitting_R | 0.312 | 0.000 | 0.688 | 1.000 |
| predicted_RBI | 0.180 | 1.000 | 0.000 | Hitting_RBI | 0.219 | 0.000 | 0.781 | 1.000 |
| predicted_SLG | 0.502 | 0.750 | 0.250 | Hitting_SLG | 0.511 | 0.000 | 0.239 | 0.750 |
| predicted_SO | 1.196 | 1.000 | 2.000 | Hitting_SO | 1.062 | 0.000 | -0.062 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 6 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 1.1960 -> 1.0000 (deboost -0.1960, 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 | 7 | 6 | 1 | 7 | 0 | predicted_H: 0.2300 -> 0.4598 (boost 0.2298, better) | predicted_SO: 1.1960 -> 1.1260 (deboost -0.0700, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3502 -> 0.2285 (deboost -0.1217, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_H: 0.4575 -> 1.0000 (boost 0.5425, better) | predicted_RBI: 0.2858 -> 0.0000 (deboost -0.2858, worse) | AB rounded to 3 (raw=2.62), rates preserved: AVG=0.175 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4314 -> 0.0000 (deboost -0.4314, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 3 | 3 | 0 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 1 | 3 | 2 | 2 | predicted_OBP: 0.2285 -> 0.2350 (boost 0.0065, better) | predicted_AB: 4.0000 -> 3.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_3B: 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.2350 -> 0.2285 (deboost -0.0065, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "813841",
"player_name": "Jonah Cox",
"position": "CF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.072,
"predicted_3B": 0.072,
"predicted_AB": 2.5,
"predicted_AVG": 0.281,
"predicted_BB": 0.145,
"predicted_H": 0.23,
"predicted_HR": 0.11,
"predicted_OBP": 0.344,
"predicted_R": 0.399,
"predicted_RBI": 0.18,
"predicted_SLG": 0.502,
"predicted_SO": 1.196
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0895,
"predicted_3B": 0.0596,
"predicted_AB": 2.6178,
"predicted_AVG": 0.2896,
"predicted_BB": 0.1833,
"predicted_H": 0.4598,
"predicted_HBP": 0.007,
"predicted_HR": 0.1337,
"predicted_OBP": 0.3502,
"predicted_R": 0.4358,
"predicted_RBI": 0.2887,
"predicted_SLG": 0.5232,
"predicted_SO": 1.126
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.072,
"after": 0.0895,
"delta": 0.0175,
"percent_delta": 0.2431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.072,
"after": 0.0596,
"delta": -0.0124,
"percent_delta": -0.1722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6178,
"delta": 0.1178,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2896,
"delta": 0.0086,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 0.1833,
"delta": 0.0383,
"percent_delta": 0.2641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.4598,
"delta": 0.2298,
"percent_delta": 0.9991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1337,
"delta": 0.0237,
"percent_delta": 0.2155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3502,
"delta": 0.0062,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.399,
"after": 0.4358,
"delta": 0.0368,
"percent_delta": 0.0922,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.2887,
"delta": 0.1087,
"percent_delta": 0.6039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.5232,
"delta": 0.0212,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.126,
"delta": -0.07,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 0.4598,
"delta": 0.2298,
"percent_delta": 0.9991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.196,
"after": 1.126,
"delta": -0.07,
"percent_delta": -0.0585,
"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": 30
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0895,
"predicted_3B": 0.0596,
"predicted_AB": 2.6178,
"predicted_AVG": 0.1748,
"predicted_BB": 0.1822,
"predicted_H": 0.4575,
"predicted_HBP": 0.007,
"predicted_HR": 0.1324,
"predicted_OBP": 0.2285,
"predicted_R": 0.4314,
"predicted_RBI": 0.2858,
"predicted_SLG": 0.4062,
"predicted_SO": 1.133
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0895,
"after": 0.0895,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0596,
"after": 0.0596,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6178,
"after": 2.6178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2896,
"after": 0.1748,
"delta": -0.1148,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1833,
"after": 0.1822,
"delta": -0.0011,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4598,
"after": 0.4575,
"delta": -0.0023,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1337,
"after": 0.1324,
"delta": -0.0013,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3502,
"after": 0.2285,
"delta": -0.1217,
"percent_delta": -0.3475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4358,
"after": 0.4314,
"delta": -0.0044,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2887,
"after": 0.2858,
"delta": -0.0029,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5232,
"after": 0.4062,
"delta": -0.117,
"percent_delta": -0.2236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.126,
"after": 1.133,
"delta": 0.007,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3502,
"after": 0.2285,
"delta": -0.1217,
"percent_delta": -0.3475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.62), rates preserved: AVG=0.175 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0895,
"after": 0.0,
"delta": -0.0895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0596,
"after": 0.0,
"delta": -0.0596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.6178,
"after": 3.0,
"delta": 0.3822,
"percent_delta": 0.146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4575,
"after": 1.0,
"delta": 0.5425,
"percent_delta": 1.1858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1324,
"after": 0.0,
"delta": -0.1324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2858,
"after": 0.0,
"delta": -0.2858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.133,
"after": 1.0,
"delta": -0.133,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4575,
"after": 1.0,
"delta": 0.5425,
"percent_delta": 1.1858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2858,
"after": 0.0,
"delta": -0.2858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4314,
"after": 0.0,
"delta": -0.4314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4314,
"after": 0.0,
"delta": -0.4314,
"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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 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.175,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.235,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.406,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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_AVG",
"before": 0.1748,
"after": 0.175,
"delta": 0.0002,
"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.2285,
"after": 0.235,
"delta": 0.0065,
"percent_delta": 0.0284,
"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.4062,
"after": 0.406,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2285,
"after": 0.235,
"delta": 0.0065,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1748,
"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.2285,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4062,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.175,
"after": 0.1748,
"delta": -0.0002,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.2285,
"delta": -0.0065,
"percent_delta": -0.0279,
"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.406,
"after": 0.4062,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.235,
"after": 0.2285,
"delta": -0.0065,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.072,
"after": 1.0,
"delta": 0.928,
"percent_delta": 12.8889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.1748,
"delta": -0.1062,
"percent_delta": -0.3779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"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.344,
"after": 0.2285,
"delta": -0.1155,
"percent_delta": -0.3358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.399,
"after": 1.0,
"delta": 0.601,
"percent_delta": 1.5063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.4062,
"delta": -0.0958,
"percent_delta": -0.1908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.0,
"delta": -0.196,
"percent_delta": -0.1639,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 6,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.196,
"after": 1.0,
"delta": -0.196,
"percent_delta": -0.1639,
"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.072 | - |
| predicted_3B | 0.072 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.145 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.399 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.502 | - |
| predicted_SO | 1.196 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.018 |
| predicted_3B | 0.060 | -0.012 |
| predicted_AB | 2.618 | 0.118 |
| predicted_AVG | 0.290 | 0.009 |
| predicted_BB | 0.183 | 0.038 |
| predicted_H | 0.460 | 0.230 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.134 | 0.024 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.436 | 0.037 |
| predicted_RBI | 0.289 | 0.109 |
| predicted_SLG | 0.523 | 0.021 |
| predicted_SO | 1.126 | -0.070 |
Step 3: 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.060 | 0.000 |
| predicted_AB | 2.618 | 0.000 |
| predicted_AVG | 0.175 | -0.115 |
| predicted_BB | 0.182 | -0.001 |
| predicted_H | 0.458 | -0.002 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.132 | -0.001 |
| predicted_OBP | 0.229 | -0.122 |
| predicted_R | 0.431 | -0.004 |
| predicted_RBI | 0.286 | -0.003 |
| predicted_SLG | 0.406 | -0.117 |
| predicted_SO | 1.133 | 0.007 |
AB rounded to 3 (raw=2.62), rates preserved: AVG=0.175 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.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 | 2.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.089 |
| predicted_3B | 0.000 | -0.060 |
| predicted_AB | 3.000 | 0.382 |
| predicted_AVG | 0.175 | 0.000 |
| predicted_BB | 0.000 | -0.182 |
| predicted_H | 1.000 | 0.542 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.235 | 0.006 |
| predicted_R | 0.000 | -0.431 |
| predicted_RBI | 0.000 | -0.286 |
| predicted_SLG | 0.406 | -0.000 |
| predicted_SO | 1.000 | -0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 4.000 | 0.3846 | 0.4667 | 0.6923 | 0.3846 | 0.0769 | 0.2308 | 0.1538 | 0.3077 |
| last_10 | 0.20 | 10 | - | 26.000 | 10.000 | 1.000 | 0.000 | 3.000 | 7.000 | 7.000 | 4.000 | 8.000 | 0.3846 | 0.4667 | 0.7692 | 0.3846 | 0.1154 | 0.2692 | 0.1538 | 0.3077 |
| season | 0.60 | 30 | - | 69.000 | 20.000 | 2.000 | 2.000 | 4.000 | 10.000 | 11.000 | 4.000 | 33.000 | 0.2899 | 0.3288 | 0.5507 | 0.2899 | 0.0580 | 0.1449 | 0.0580 | 0.4783 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1200 |
| predicted_3B | 0.0380 |
| predicted_AB | 2.8230 |
| predicted_AVG | 0.3046 |
| predicted_BB | 0.2500 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1750 |
| predicted_OBP | 0.3611 |
| predicted_R | 0.5000 |
| predicted_RBI | 0.4780 |
| predicted_SLG | 0.5600 |
| predicted_SO | 1.0040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0720 | 0.1200 | 0.0895 | model_form_blend |
| predicted_3B | 0.0720 | 0.0380 | 0.0596 | model_form_blend |
| predicted_AB | 2.5000 | 2.8230 | 2.6178 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3046 | 0.2896 | model_form_blend |
| predicted_BB | 0.1450 | 0.2500 | 0.1833 | model_form_blend |
| predicted_H | 0.2300 | 0.8600 | 0.4598 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1100 | 0.1750 | 0.1337 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3611 | 0.3502 | model_form_blend |
| predicted_R | 0.3990 | 0.5000 | 0.4358 | model_form_blend |
| predicted_RBI | 0.1800 | 0.4780 | 0.2887 | model_form_blend |
| predicted_SLG | 0.5020 | 0.5600 | 0.5232 | model_form_blend |
| predicted_SO | 1.1960 | 1.0040 | 1.1260 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 30 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260902_SF@PIT |
| game_type | ph |
| mlbID | 813841 |
| note | Grounded out for Furman in the 9th. |
| playerID | 813841 |
| playerName | Jonah Cox |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 43.4 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.375 |
| sl_xwoba | 0.28 |
| sl_xba | 0.206 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 43.6 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 39.5 |
| sl_swing_percent | 53.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.462 | 6.000 | 0.538 | -4.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 2.538 | 7.000 | 2.462 | -2.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 2.808 | 5.000 | 2.192 | 0.000 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 2.385 | 4.000 | 5.615 | 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": "694918",
"player_name": "Blade Tidwell",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 8.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"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": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"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": 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 | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 8.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.200 | 15.000 | 23.000 | 10.000 | 21.000 | 4.000 | 5.2597 | 1.2857 | 0.5844 | 0.8961 | 0.3896 | 0.8182 | 0.1558 |
| last_10 | 0.35 | 10 | 32.200 | 19.000 | 31.000 | 12.000 | 27.000 | 5.000 | 5.2347 | 1.3163 | 0.5816 | 0.9490 | 0.3674 | 0.8265 | 0.1531 |
| season | 0.20 | 13 | 37.200 | 19.000 | 33.000 | 13.000 | 31.000 | 5.000 | 4.5398 | 1.2212 | 0.5044 | 0.8761 | 0.3451 | 0.8230 | 0.1327 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6400 |
| predicted_ER | 2.3790 |
| predicted_ERA | 4.8569 |
| predicted_H | 4.1230 |
| predicted_HR | 0.6560 |
| predicted_IP | 4.1000 |
| predicted_SO | 3.8290 |
| predicted_WHIP | 1.3074 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6400 | 0.7904 | model_form_blend |
| predicted_ER | 2.0000 | 2.3790 | 2.1827 | model_form_blend |
| predicted_ERA | - | 4.8569 | 4.8569 | form_only |
| predicted_H | 5.0000 | 4.1230 | 4.5773 | model_form_blend |
| predicted_HR | 0.0000 | 0.6560 | 0.3162 | model_form_blend |
| predicted_IP | 5.0000 | 4.1000 | 4.2000 | model_form_blend |
| predicted_SO | 8.0000 | 3.8290 | 5.9897 | model_form_blend |
| predicted_WHIP | - | 1.3074 | 1.3074 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 13 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 8 |
| HR | 0 |
| BF | 20 |
| Pitches | 90 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 6 |
| Pitching_ERA | 4.54 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 2 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 100 |
| Pitching_R | 6 |
| Pitching_SO | 4 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_ARI@SF |
| game_type | full |
| mlbID | 694918 |
| playerID | 694918 |
| playerName | Blade Tidwell |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-08-28 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.309 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 45.7 |
| sl_avg_best_speed | 76.414056667 |
| sl_avg_hyper_speed | 93.911938889 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.100 | 1.000 | 0.900 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.130 | 1.000 | -0.030 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.700 | 2.000 | -0.700 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "805345",
"player_name": "Trent Harris",
"position": "Setup Man",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 3.000 | 2.000 | 7.000 | 0.000 | 0.0000 | 0.8333 | 0.0000 | 0.5000 | 0.3333 | 1.1667 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 5.000 | 11.000 | 6.000 | 17.000 | 0.000 | 3.7500 | 1.4167 | 0.4167 | 0.9167 | 0.5000 | 1.4167 | 0.0000 |
| season | 0.20 | 10 | 12.000 | 5.000 | 11.000 | 6.000 | 17.000 | 0.000 | 3.7500 | 1.4167 | 0.4167 | 0.9167 | 0.5000 | 1.4167 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5100 |
| predicted_ER | 0.5270 |
| predicted_ERA | 3.5549 |
| predicted_H | 1.1710 |
| predicted_HR | 0.1320 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3980 |
| predicted_WHIP | 1.2606 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5100 | 0.1861 | model_form_blend |
| predicted_ER | 1.0000 | 0.5270 | 0.8274 | model_form_blend |
| predicted_ERA | - | 3.5549 | 3.5549 | form_only |
| predicted_H | 2.0000 | 1.1710 | 1.6974 | model_form_blend |
| predicted_HR | 1.0000 | 0.1320 | 0.6832 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3980 | 1.1453 | model_form_blend |
| predicted_WHIP | - | 1.2606 | 1.2606 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| Report year | 2026 |
| Profile rows used | 10 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 6 |
| Pitches | 35 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260901_SF@PIT |
| game_type | full |
| mlbID | 805345 |
| playerID | 805345 |
| playerName | Trent Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-01 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.304 |
| sl_xwoba | 0.231 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 20.7 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 40.2 |
| sl_avg_best_speed | 70.378605333 |
| sl_avg_hyper_speed | 91.709084828 |
| 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.441 | 0.000 | -0.441 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.794 | 1.000 | 0.206 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.835 | 1.000 | 0.265 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.206 | 2.000 | 0.794 | 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": "681916",
"player_name": "Dylan Smith",
"position": "Closer",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 7.000 | 2.000 | 6.000 | 1.000 | 4.1538 | 2.0769 | 0.4615 | 1.6154 | 0.4615 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 10.100 | 4.000 | 10.000 | 4.000 | 17.000 | 1.000 | 3.4839 | 1.3548 | 0.3871 | 0.9677 | 0.3871 | 1.6452 | 0.0968 |
| season | 0.20 | 34 | 31.200 | 11.000 | 27.000 | 15.000 | 41.000 | 3.000 | 3.1263 | 1.3263 | 0.3474 | 0.8526 | 0.4737 | 1.2947 | 0.0947 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4080 |
| predicted_ER | 0.4500 |
| predicted_ERA | 4.0502 |
| predicted_H | 1.1200 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2300 |
| predicted_WHIP | 1.5286 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4080 | 0.1894 | model_form_blend |
| predicted_ER | 0.0000 | 0.4500 | 0.2088 | model_form_blend |
| predicted_ERA | - | 4.0502 | 4.0502 | form_only |
| predicted_H | 1.0000 | 1.1200 | 1.0557 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0705 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2300 | 1.6426 | model_form_blend |
| predicted_WHIP | - | 1.5286 | 1.5286 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.13 |
| 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 | 18 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 681916 |
| playerID | 681916 |
| playerName | Dylan Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.295 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 46.3 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.158640769 |
| sl_avg_hyper_speed | 94.565484675 |
| 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.643 | 0.000 | 0.357 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.786 | 1.000 | 2.214 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.714 | 2.000 | 1.286 | 1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.421 | 1.200 | -1.321 | -1.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.214 | 1.000 | -0.214 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.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": "693313",
"player_name": "Carson Seymour",
"position": "Middle Reliever (High Leverage)",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"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.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 | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 2.000 | 5.000 | 2.000 | 4.000 | 1.000 | 3.1765 | 1.2353 | 0.3529 | 0.8823 | 0.3529 | 0.7059 | 0.1765 |
| last_10 | 0.35 | 10 | 13.000 | 2.000 | 10.000 | 3.000 | 13.000 | 1.000 | 1.3846 | 1.0000 | 0.1538 | 0.7692 | 0.2308 | 1.0000 | 0.0769 |
| season | 0.20 | 14 | 22.000 | 11.000 | 24.000 | 9.000 | 17.000 | 3.000 | 4.5000 | 1.5000 | 0.5000 | 1.0909 | 0.4091 | 0.7727 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2650 |
| predicted_ER | 0.3140 |
| predicted_ERA | 3.6972 |
| predicted_H | 0.7110 |
| predicted_HR | 0.1070 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6750 |
| predicted_WHIP | 1.2790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2650 | 0.6871 | model_form_blend |
| predicted_ER | 3.0000 | 0.3140 | 1.8564 | model_form_blend |
| predicted_ERA | - | 3.6972 | 3.6972 | form_only |
| predicted_H | 3.0000 | 0.7110 | 2.0254 | model_form_blend |
| predicted_HR | 1.0000 | 0.1070 | 0.6198 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6750 | 0.8616 | model_form_blend |
| predicted_WHIP | - | 1.2790 | 1.2790 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.1 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 693313 |
| playerID | 693313 |
| playerName | Carson Seymour |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.375 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 76.834451429 |
| sl_avg_hyper_speed | 94.085604857 |
| Field | Value |
|---|---|
| Pitcher | Lake Bachar |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2842 |
| ESPN Rank | 195 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0055 |
| Avg Velo | 89.7704 |
| Avg Spin | 2691.0164 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 3.1062 |
| Season WHIP | 1.0088 |
| Role Avg IP | 2.3330 |
| Recent Avg IP | 2.1330 |
| Last Start IP | 2.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"opponent": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"edges": {
"quality_edge": 0.1095,
"offense_edge": 0.0889,
"opponent_offense_edge": -0.073,
"defense_strength": -0.0455,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.9874,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669199",
"profile": {
"available": true,
"pitcher_id": "669199",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 281.0,
"k_percent": 25.0,
"bb_percent": 9.7,
"woba": 0.286,
"xwoba": 0.291,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 34.7,
"avg_best_speed": 78.8009,
"avg_hyper_speed": 93.6949,
"whiff_percent": 29.2,
"swing_percent": 45.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3623,
"command_and_miss": 0.3693,
"regression_edge": -0.1429,
"xwoba_edge": 0.5714,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.5714,
"bb_edge": -0.15,
"pitch_design_score": -0.0055
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669199",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 49,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7704,
"release_spin_rate": 2691.0164,
"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.0055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0391,
"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.2842,
"sample_weight": 1.0,
"run_prevention_factor": 0.9758,
"strikeout_factor": 1.0406,
"walk_factor": 1.012,
"homer_factor": 0.99,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669199",
"espn_id": 42592,
"player_name": "Lake Bachar",
"team": "PIT",
"role": "pitcher",
"espn_rank": 195,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 195,
"gp_value": 46.0,
"gp_rank": 119,
"gs_value": 7.0,
"gs_rank": 197,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.7035,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 75.1,
"ip_rank": 164,
"h_value": 52.0,
"h_rank": 223,
"er_value": 31.0,
"er_rank": 177,
"hr_value": 13.0,
"hr_rank": 113,
"bb_value": 30.0,
"bb_rank": 155,
"k_value": 77.0,
"k_rank": 151,
"k_per_9_value": 9.199116,
"k_per_9_rank": 24,
"whip_value": 1.0884,
"whip_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9758,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 0.9758,
"adjusted": 2
},
"predicted_BB": {
"original": 2.0,
"factor": 1.012,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.99,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0406,
"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": 20.2,
"ER": 6,
"H": 10,
"BB": 9,
"SO": 18,
"HR": 4,
"ERA": 2.6129032258064515,
"WHIP": 0.9193548387096774,
"K9": 7.838709677419354,
"HR9": 1.7419354838709677,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "669199",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 49,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 49,
"pitch_usage": 0.0,
"release_speed": 89.77040919616555,
"release_spin_rate": 2691.0164138592872,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7704,
"release_spin_rate": 2691.0164,
"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.0055,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0391,
"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.142,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7518,
"prior_weight": 0.2482
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669199",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 45,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 7.0,
"SO": 9.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 163.0
},
"per_game": {
"IP": 2.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 1.4,
"SO": 1.8,
"HR": 0.2,
"BF": 7.6,
"Pitches": 32.6
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.1379,
"ER_per_IP": 0.2069,
"H_per_IP": 0.41379,
"BB_per_IP": 0.72414,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.10345
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 20.2,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 9.0,
"SO": 18.0,
"HR": 4.0,
"BF": 79.0,
"Pitches": 324.0
},
"per_game": {
"IP": 2.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.9,
"SO": 1.8,
"HR": 0.4,
"BF": 7.9,
"Pitches": 32.4
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.9194,
"ER_per_IP": 0.29032,
"H_per_IP": 0.48387,
"BB_per_IP": 0.43548,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 45,
"totals": {
"IP": 75.1,
"ER": 26.0,
"R": 28.0,
"H": 48.0,
"BB": 28.0,
"SO": 77.0,
"HR": 12.0,
"BF": 302.0,
"Pitches": 1214.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5778,
"R": 0.6222,
"H": 1.0667,
"BB": 0.6222,
"SO": 1.7111,
"HR": 0.2667,
"BF": 6.7111,
"Pitches": 26.9778
},
"rates": {
"ERA": 3.1062,
"WHIP": 1.0088,
"ER_per_IP": 0.34513,
"H_per_IP": 0.63717,
"BB_per_IP": 0.37168,
"SO_per_IP": 1.02212,
"HR_per_IP": 0.15929
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 0.92,
"predicted_H": 1.729,
"predicted_BB": 1.451,
"predicted_SO": 2.662,
"predicted_HR": 0.418,
"predicted_ERA": 2.896,
"predicted_WHIP": 1.112
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4549,
"form_weight": 0.5451,
"form_reliability": 0.7518,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.142,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7518,
"prior_weight": 0.2482
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 3.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.92,
"final": 0.9564,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.729,
"final": 1.3974,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.451,
"final": 1.2459,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 2.662,
"final": 3.7255,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.418,
"final": 0.2279,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.896,
"final": 2.896,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.112,
"final": 1.112,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Gregory Soto |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6318 |
| ESPN Rank | 124 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.7151 |
| Season WHIP | 1.0223 |
| Role Avg IP | 1.0110 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"opponent": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"edges": {
"quality_edge": 0.1095,
"offense_edge": 0.0889,
"opponent_offense_edge": -0.073,
"defense_strength": -0.0455,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.9874,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642397",
"profile": {
"available": true,
"pitcher_id": "642397",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 224.0,
"k_percent": 27.9,
"bb_percent": 9.7,
"woba": 0.269,
"xwoba": 0.263,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 33.6,
"avg_best_speed": 75.0795,
"avg_hyper_speed": 93.2474,
"whiff_percent": 28.3,
"swing_percent": 43.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9915,
"command_and_miss": 0.5107,
"regression_edge": 0.1714,
"xwoba_edge": 1.3714,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.6,
"whiff_edge": 0.4429,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642397",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6318,
"sample_weight": 0.896,
"run_prevention_factor": 0.9463,
"strikeout_factor": 1.0466,
"walk_factor": 1.0108,
"homer_factor": 0.9002,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642397",
"espn_id": 39804,
"player_name": "Gregory Soto",
"team": "PIT",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 124,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.1675,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 14.0,
"sv_rank": 21,
"hld_value": 10.0,
"hld_rank": 80,
"ip_value": 59.2,
"ip_rank": 219,
"h_value": 41.0,
"h_rank": 298,
"er_value": 21.0,
"er_rank": 290,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 24.0,
"bb_rank": 215,
"k_value": 69.0,
"k_rank": 171,
"k_per_9_value": 10.407822,
"k_per_9_rank": 21,
"whip_value": 1.0893,
"whip_rank": null,
"war_value": 1.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9519,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9519,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0097,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9106,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0418,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 6,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.9,
"K9": 8.1,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "642397",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "642397",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 59,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 128.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 59,
"totals": {
"IP": 59.2,
"ER": 18.0,
"R": 22.0,
"H": 38.0,
"BB": 23.0,
"SO": 69.0,
"HR": 5.0,
"BF": 243.0,
"Pitches": 979.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3051,
"R": 0.3729,
"H": 0.6441,
"BB": 0.3898,
"SO": 1.1695,
"HR": 0.0847,
"BF": 4.1186,
"Pitches": 16.5932
},
"rates": {
"ERA": 2.7151,
"WHIP": 1.0223,
"ER_per_IP": 0.30168,
"H_per_IP": 0.63687,
"BB_per_IP": 0.38547,
"SO_per_IP": 1.15642,
"HR_per_IP": 0.0838
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.189,
"predicted_H": 0.592,
"predicted_BB": 0.306,
"predicted_SO": 0.798,
"predicted_HR": 0.055,
"predicted_ERA": 1.7008,
"predicted_WHIP": 0.898
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7058,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.993,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7058,
"prior_weight": 0.2942
},
"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.0994,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.592,
"final": 0.7855,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.306,
"final": 0.1609,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.798,
"final": 0.8938,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7008,
"final": 1.7008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.898,
"final": 0.898,
"source": "form_only"
}
}
}{
"available": false,
"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.4173 |
| ESPN Rank | 92 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1313 |
| Avg Velo | 92.2125 |
| Avg Spin | 2256.0005 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.5796 |
| Season WHIP | 0.9554 |
| Role Avg IP | 1.0260 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"opponent": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"edges": {
"quality_edge": 0.1095,
"offense_edge": 0.0889,
"opponent_offense_edge": -0.073,
"defense_strength": -0.0455,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.9874,
"strikeout": 1.0091
},
"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": 185.0,
"k_percent": 26.6,
"bb_percent": 7.2,
"woba": 0.238,
"xwoba": 0.271,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 34.8,
"avg_best_speed": 78.6663,
"avg_hyper_speed": 93.3447,
"whiff_percent": 30.7,
"swing_percent": 52.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.8445,
"command_and_miss": 0.6721,
"regression_edge": -0.9429,
"xwoba_edge": 1.1429,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.4286,
"whiff_edge": 0.7857,
"bb_edge": 0.475,
"pitch_design_score": 0.1313
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596133",
"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": 92.21253171289518,
"release_spin_rate": 2256.000494738028,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.21253171289518,
"release_spin_rate": 2256.000494738028,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2125,
"release_spin_rate": 2256.0005,
"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.1313,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9378,
"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.4173,
"sample_weight": 0.74,
"run_prevention_factor": 0.9645,
"strikeout_factor": 1.0431,
"walk_factor": 0.9719,
"homer_factor": 0.9633,
"woba_minus_xwoba": -0.033,
"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": 92,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 92,
"gp_value": 51.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.5796,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 17.0,
"hld_rank": 23,
"ip_value": 52.1,
"ip_rank": 276,
"h_value": 35.0,
"h_rank": 358,
"er_value": 15.0,
"er_rank": 407,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 15.0,
"bb_rank": 371,
"k_value": 55.0,
"k_rank": 242,
"k_per_9_value": 9.458598,
"k_per_9_rank": 23,
"whip_value": 0.9554,
"whip_rank": null,
"war_value": 1.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9737,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9737,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9792,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9728,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0319,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 6,
"H": 10,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 5.7857142857142865,
"WHIP": 1.5000000000000002,
"K9": 10.607142857142858,
"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-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "596133",
"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": 92.21253171289518,
"release_spin_rate": 2256.000494738028,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.21253171289518,
"release_spin_rate": 2256.000494738028,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2125,
"release_spin_rate": 2256.0005,
"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.1313,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9378,
"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.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "596133",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.8462,
"ER_per_IP": 0.69231,
"H_per_IP": 1.15385,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 4.1,
"Pitches": 15.7
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.5,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 51,
"totals": {
"IP": 52.1,
"ER": 15.0,
"R": 16.0,
"H": 35.0,
"BB": 15.0,
"SO": 55.0,
"HR": 3.0,
"BF": 207.0,
"Pitches": 787.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2941,
"R": 0.3137,
"H": 0.6863,
"BB": 0.2941,
"SO": 1.0784,
"HR": 0.0588,
"BF": 4.0588,
"Pitches": 15.4314
},
"rates": {
"ERA": 2.5796,
"WHIP": 0.9554,
"ER_per_IP": 0.28662,
"H_per_IP": 0.66879,
"BB_per_IP": 0.28662,
"SO_per_IP": 1.05096,
"HR_per_IP": 0.05732
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.563,
"predicted_H": 1.01,
"predicted_BB": 0.471,
"predicted_SO": 1.147,
"predicted_HR": 0.055,
"predicted_ERA": 5.0656,
"predicted_WHIP": 1.4814
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4861,
"form_weight": 0.5139,
"form_reliability": 0.6778,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.563,
"final": 0.2893,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.01,
"final": 0.519,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.471,
"final": 0.242,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.147,
"final": 0.5894,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0283,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0656,
"final": 5.0656,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4814,
"final": 1.4814,
"source": "form_only"
}
}
}{
"available": false,
"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.8070 |
| ESPN Rank | 84 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 4 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 2.7000 |
| Season WHIP | 1.0412 |
| Role Avg IP | 0.9940 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 140,
"wins": 68,
"losses": 72,
"win_pct": 0.4857,
"runs_scored": 686.0,
"runs_allowed": 660.0,
"run_differential": 26.0,
"run_differential_per_game": 0.1857,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.7143,
"offense_index": 1.0889,
"defense_index": 0.9545,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.0,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.0105
},
"opponent": {
"team": "SF",
"games": 140,
"wins": 58,
"losses": 82,
"win_pct": 0.4143,
"runs_scored": 584.0,
"runs_allowed": 654.0,
"run_differential": -70.0,
"run_differential_per_game": -0.5,
"avg_runs_scored": 4.1714,
"avg_runs_allowed": 4.6714,
"offense_index": 0.927,
"defense_index": 0.9633,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 5.1,
"run_differential": 10.0
},
"available": true,
"quality_score": -0.099
},
"edges": {
"quality_edge": 0.1095,
"offense_edge": 0.0889,
"opponent_offense_edge": -0.073,
"defense_strength": -0.0455,
"opponent_defense_weakness": 0.0367,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.9874,
"strikeout": 1.0091
},
"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": 208.0,
"k_percent": 38.4,
"bb_percent": 9.5,
"woba": 0.253,
"xwoba": 0.252,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 42.5,
"avg_best_speed": 74.7457,
"avg_hyper_speed": 94.6386,
"whiff_percent": 33.2,
"swing_percent": 49.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.0582,
"command_and_miss": 1.4407,
"regression_edge": 0.0286,
"xwoba_edge": 1.6857,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.6714,
"whiff_edge": 1.1429,
"bb_edge": -0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682254",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.807,
"sample_weight": 0.832,
"run_prevention_factor": 0.9314,
"strikeout_factor": 1.1165,
"walk_factor": 1.0067,
"homer_factor": 0.9832,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 84,
"gp_value": 58.0,
"gp_rank": 42,
"gs_value": 5.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.0176,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 7.0,
"sv_rank": 34,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 56.2,
"ip_rank": 243,
"h_value": 39.0,
"h_rank": 319,
"er_value": 19.0,
"er_rank": 321,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 22.0,
"bb_rank": 244,
"k_value": 89.0,
"k_rank": 118,
"k_per_9_value": 14.135295,
"k_per_9_rank": 13,
"whip_value": 1.0764,
"whip_rank": null,
"war_value": 1.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9429,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9429,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.986,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0969,
"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": 0,
"H": 5,
"BB": 1,
"SO": 14,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6206896551724138,
"K9": 13.03448275862069,
"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-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "682254",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.39,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6949,
"prior_weight": 0.3051
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682254",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 57,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.5625,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 14.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.1,
"SO": 1.4,
"HR": 0.0,
"BF": 3.5,
"Pitches": 14.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6207,
"ER_per_IP": 0.0,
"H_per_IP": 0.51724,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.44828,
"HR_per_IP": 0.0
}
},
"season": {
"games": 57,
"totals": {
"IP": 56.2,
"ER": 17.0,
"R": 17.0,
"H": 37.0,
"BB": 22.0,
"SO": 89.0,
"HR": 4.0,
"BF": 230.0,
"Pitches": 966.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2982,
"R": 0.2982,
"H": 0.6491,
"BB": 0.386,
"SO": 1.5614,
"HR": 0.0702,
"BF": 4.0351,
"Pitches": 16.9474
},
"rates": {
"ERA": 2.7,
"WHIP": 1.0412,
"ER_per_IP": 0.3,
"H_per_IP": 0.65294,
"BB_per_IP": 0.38824,
"SO_per_IP": 1.57059,
"HR_per_IP": 0.07059
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.194,
"predicted_H": 0.689,
"predicted_BB": 0.251,
"predicted_SO": 1.15,
"predicted_HR": 0.055,
"predicted_ERA": 1.7416,
"predicted_WHIP": 0.9401
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4789,
"form_weight": 0.5211,
"form_reliability": 0.6949,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.39,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6949,
"prior_weight": 0.3051
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 0.194,
"final": 2.0167,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.689,
"final": 2.2747,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.251,
"final": 1.5675,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.15,
"final": 1.0782,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.055,
"final": 0.5076,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7416,
"final": 1.7416,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9401,
"final": 0.9401,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.234 | 1.000 | 1.000 | Hitting_2B | 0.241 | 1.000 | 0.759 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.715 | 4.000 | 4.000 | Hitting_AB | 3.771 | 5.000 | 0.229 | -1.000 |
| predicted_AVG | 0.265 | 0.500 | 0.250 | Hitting_AVG | 0.268 | 0.400 | 0.232 | 0.100 |
| predicted_BB | 0.577 | 0.000 | 1.000 | Hitting_BB | 0.629 | 0.000 | -0.629 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.985 | 2.000 | 1.000 | Hitting_H | 1.011 | 2.000 | 0.989 | 0.000 |
| predicted_HR | 0.109 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.364 | 0.500 | 0.400 | Hitting_OBP | 0.380 | 0.400 | 0.120 | 0.100 |
| predicted_R | 0.664 | 1.000 | 1.000 | Hitting_R | 0.695 | 2.000 | 0.305 | -1.000 |
| predicted_RBI | 0.482 | 0.000 | 0.000 | Hitting_RBI | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_SLG | 0.424 | 0.750 | 0.500 | Hitting_SLG | 0.442 | 0.600 | 0.308 | 0.150 |
| predicted_SO | 1.007 | 1.000 | 1.000 | Hitting_SO | 1.074 | 0.000 | -0.074 | 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_H: 0.9850 -> 2.0000 (boost 1.0150, better) |
| Biggest Deboost | predicted_BB: 0.5770 -> 0.0000 (deboost -0.5770, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7150 -> 3.8140 (boost 0.0990, better) | predicted_RBI: 0.4820 -> 0.4096 (deboost -0.0724, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_BB: 0.5484 -> 1.0000 (boost 0.4516, better) | predicted_RBI: 0.4188 -> 0.0000 (deboost -0.4188, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.269 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7284 -> 1.0000 (boost 0.2716, 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 | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"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.234,
"predicted_3B": 0.015,
"predicted_AB": 3.715,
"predicted_AVG": 0.265,
"predicted_BB": 0.577,
"predicted_H": 0.985,
"predicted_HR": 0.109,
"predicted_OBP": 0.364,
"predicted_R": 0.664,
"predicted_RBI": 0.482,
"predicted_SLG": 0.424,
"predicted_SO": 1.007
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2279,
"predicted_3B": 0.0128,
"predicted_AB": 3.814,
"predicted_AVG": 0.2651,
"predicted_BB": 0.5447,
"predicted_H": 1.0116,
"predicted_HBP": 0.093,
"predicted_HR": 0.0933,
"predicted_OBP": 0.3626,
"predicted_R": 0.7124,
"predicted_RBI": 0.4096,
"predicted_SLG": 0.4055,
"predicted_SO": 0.9891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.2279,
"delta": -0.0061,
"percent_delta": -0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0128,
"delta": -0.0022,
"percent_delta": -0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.715,
"after": 3.814,
"delta": 0.099,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2651,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.577,
"after": 0.5447,
"delta": -0.0323,
"percent_delta": -0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.985,
"after": 1.0116,
"delta": 0.0266,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.0933,
"delta": -0.0157,
"percent_delta": -0.144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3626,
"delta": -0.0014,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 0.7124,
"delta": 0.0484,
"percent_delta": 0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.482,
"after": 0.4096,
"delta": -0.0724,
"percent_delta": -0.1502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4055,
"delta": -0.0185,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.007,
"after": 0.9891,
"delta": -0.0179,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_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.715,
"after": 3.814,
"delta": 0.099,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.482,
"after": 0.4096,
"delta": -0.0724,
"percent_delta": -0.1502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 137
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2279,
"predicted_3B": 0.0128,
"predicted_AB": 3.814,
"predicted_AVG": 0.2687,
"predicted_BB": 0.5484,
"predicted_H": 1.025,
"predicted_HBP": 0.093,
"predicted_HR": 0.0951,
"predicted_OBP": 0.3607,
"predicted_R": 0.7284,
"predicted_RBI": 0.4188,
"predicted_SLG": 0.41,
"predicted_SO": 0.9824
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2279,
"after": 0.2279,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0128,
"after": 0.0128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.814,
"after": 3.814,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2651,
"after": 0.2687,
"delta": 0.0036,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5447,
"after": 0.5484,
"delta": 0.0037,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0116,
"after": 1.025,
"delta": 0.0134,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0933,
"after": 0.0951,
"delta": 0.0018,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3626,
"after": 0.3607,
"delta": -0.0019,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7124,
"after": 0.7284,
"delta": 0.016,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.4188,
"delta": 0.0092,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4055,
"after": 0.41,
"delta": 0.0045,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9891,
"after": 0.9824,
"delta": -0.0067,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.81), rates preserved: AVG=0.269 HR/AB=0.025",
"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.2279,
"after": 0.0,
"delta": -0.2279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0128,
"after": 0.0,
"delta": -0.0128,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.814,
"after": 4.0,
"delta": 0.186,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5484,
"after": 1.0,
"delta": 0.4516,
"percent_delta": 0.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.025,
"after": 1.0,
"delta": -0.025,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0951,
"after": 0.0,
"delta": -0.0951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4188,
"after": 0.0,
"delta": -0.4188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9824,
"after": 1.0,
"delta": 0.0176,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5484,
"after": 1.0,
"delta": 0.4516,
"percent_delta": 0.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4188,
"after": 0.0,
"delta": -0.4188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7284,
"after": 1.0,
"delta": 0.2716,
"percent_delta": 0.3729,
"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.7284,
"after": 1.0,
"delta": 0.2716,
"percent_delta": 0.3729,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.365,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.41,
"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.2687,
"after": 0.269,
"delta": 0.0003,
"percent_delta": 0.0011,
"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.3607,
"after": 0.365,
"delta": 0.0043,
"percent_delta": 0.0119,
"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.41,
"after": 0.41,
"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_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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2687,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3607,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.41,
"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.269,
"after": 0.2687,
"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.365,
"after": 0.3607,
"delta": -0.0043,
"percent_delta": -0.0119,
"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.41,
"after": 0.41,
"delta": 0.0,
"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.234,
"after": 1.0,
"delta": 0.766,
"percent_delta": 3.2735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.715,
"after": 4.0,
"delta": 0.285,
"percent_delta": 0.0767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2687,
"delta": 0.0037,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.577,
"after": 0.0,
"delta": -0.577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.985,
"after": 2.0,
"delta": 1.015,
"percent_delta": 1.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3607,
"delta": -0.0033,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.0,
"delta": 0.336,
"percent_delta": 0.506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.482,
"after": 0.0,
"delta": -0.482,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.41,
"delta": -0.014,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.007,
"after": 1.0,
"delta": -0.007,
"percent_delta": -0.007,
"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_H",
"before": 0.985,
"after": 2.0,
"delta": 1.015,
"percent_delta": 1.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.577,
"after": 0.0,
"delta": -0.577,
"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.234 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.715 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.577 | - |
| predicted_H | 0.985 | - |
| predicted_HR | 0.109 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.482 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 1.007 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.228 | -0.006 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.814 | 0.099 |
| predicted_AVG | 0.265 | 0.000 |
| predicted_BB | 0.545 | -0.032 |
| predicted_H | 1.012 | 0.027 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.093 | -0.016 |
| predicted_OBP | 0.363 | -0.001 |
| predicted_R | 0.712 | 0.048 |
| predicted_RBI | 0.410 | -0.072 |
| predicted_SLG | 0.406 | -0.018 |
| predicted_SO | 0.989 | -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.228 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.814 | 0.000 |
| predicted_AVG | 0.269 | 0.004 |
| predicted_BB | 0.548 | 0.004 |
| predicted_H | 1.025 | 0.013 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.095 | 0.002 |
| predicted_OBP | 0.361 | -0.002 |
| predicted_R | 0.728 | 0.016 |
| predicted_RBI | 0.419 | 0.009 |
| predicted_SLG | 0.410 | 0.004 |
| predicted_SO | 0.982 | -0.007 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.269 HR/AB=0.025
| 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 | 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 | 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.228 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.186 |
| predicted_AVG | 0.269 | 0.000 |
| predicted_BB | 1.000 | 0.452 |
| predicted_H | 1.000 | -0.025 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.365 | 0.004 |
| predicted_R | 1.000 | 0.272 |
| predicted_RBI | 0.000 | -0.419 |
| predicted_SLG | 0.410 | 0.000 |
| predicted_SO | 1.000 | 0.018 |
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 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 6.000 | 2.000 | 5.000 | 0.2727 | 0.3600 | 0.3182 | 0.2727 | 0.0000 | 0.0000 | 0.0909 | 0.2273 |
| last_10 | 0.20 | 10 | - | 42.000 | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 8.000 | 4.000 | 8.000 | 0.2619 | 0.3404 | 0.3095 | 0.2619 | 0.0000 | 0.0000 | 0.0952 | 0.1905 |
| season | 0.60 | 137 | - | 509.000 | 135.000 | 32.000 | 2.000 | 15.000 | 66.000 | 91.000 | 79.000 | 138.000 | 0.2652 | 0.3723 | 0.4244 | 0.2652 | 0.0295 | 0.1297 | 0.1552 | 0.2711 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9420 |
| predicted_AVG | 0.2652 |
| predicted_BB | 0.5030 |
| predicted_H | 1.0460 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3607 |
| predicted_R | 0.7750 |
| predicted_RBI | 0.3160 |
| predicted_SLG | 0.3815 |
| predicted_SO | 0.9660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.2200 | 0.2279 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0128 | model_form_blend |
| predicted_AB | 3.7150 | 3.9420 | 3.8140 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2652 | 0.2651 | model_form_blend |
| predicted_BB | 0.5770 | 0.5030 | 0.5447 | model_form_blend |
| predicted_H | 0.9850 | 1.0460 | 1.0116 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.1090 | 0.0730 | 0.0933 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3607 | 0.3626 | model_form_blend |
| predicted_R | 0.6640 | 0.7750 | 0.7124 | model_form_blend |
| predicted_RBI | 0.4820 | 0.3160 | 0.4096 | model_form_blend |
| predicted_SLG | 0.4240 | 0.3815 | 0.4055 | model_form_blend |
| predicted_SO | 1.0070 | 0.9660 | 0.9891 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 137 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.35 |
| sl_xwoba | 0.352 |
| sl_xba | 0.252 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 47.5 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 0.000 | 0.000 | Hitting_2B | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.810 | 4.000 | 4.000 | Hitting_AB | 3.970 | 4.000 | 0.030 | 0.000 |
| predicted_AVG | 0.306 | 0.500 | 0.250 | Hitting_AVG | 0.317 | 0.250 | 0.183 | 0.250 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.288 | 1.000 | -0.288 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.167 | 2.000 | 1.000 | Hitting_H | 1.258 | 1.000 | 0.742 | 1.000 |
| predicted_HR | 0.032 | 0.000 | 0.000 | Hitting_HR | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_OBP | 0.355 | 0.500 | 0.250 | Hitting_OBP | 0.374 | 0.400 | 0.126 | 0.100 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.568 | 0.000 | 0.432 | 1.000 |
| predicted_RBI | 0.452 | 0.000 | 1.000 | Hitting_RBI | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_SLG | 0.383 | 0.500 | 0.250 | Hitting_SLG | 0.401 | 0.250 | 0.099 | 0.250 |
| predicted_SO | 0.683 | 2.000 | 1.000 | Hitting_SO | 0.696 | 0.000 | 1.304 | 2.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 | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.6830 -> 2.0000 (boost 1.3170, worse) |
| Biggest Deboost | predicted_RBI: 0.4520 -> 0.0000 (deboost -0.4520, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_BB: 0.2860 -> 0.3451 (boost 0.0591, better) | predicted_R: 0.5000 -> 0.4435 (deboost -0.0565, worse) | Final model input calibrated with local 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_RBI: 0.4875 -> 1.0000 (boost 0.5125, better) | predicted_BB: 0.3474 -> 0.0000 (deboost -0.3474, worse) | AB rounded to 4 (raw=3.82), rates preserved: AVG=0.314 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4534 -> 0.0000 (deboost -0.4534, 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.3708 -> 0.3760 (boost 0.0052, 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 | 4 | 3 | 1 | 2 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3760 -> 0.3708 (deboost -0.0052, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"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.183,
"predicted_3B": 0.008,
"predicted_AB": 3.81,
"predicted_AVG": 0.306,
"predicted_BB": 0.286,
"predicted_H": 1.167,
"predicted_HR": 0.032,
"predicted_OBP": 0.355,
"predicted_R": 0.5,
"predicted_RBI": 0.452,
"predicted_SLG": 0.383,
"predicted_SO": 0.683
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0067,
"predicted_AB": 3.8243,
"predicted_AVG": 0.3093,
"predicted_BB": 0.3451,
"predicted_H": 1.1839,
"predicted_HBP": 0.126,
"predicted_HR": 0.029,
"predicted_OBP": 0.3729,
"predicted_R": 0.4435,
"predicted_RBI": 0.4768,
"predicted_SLG": 0.382,
"predicted_SO": 0.6813
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1778,
"delta": -0.0052,
"percent_delta": -0.0284,
"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.81,
"after": 3.8243,
"delta": 0.0143,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.306,
"after": 0.3093,
"delta": 0.0033,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.3451,
"delta": 0.0591,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.167,
"after": 1.1839,
"delta": 0.0169,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.032,
"after": 0.029,
"delta": -0.003,
"percent_delta": -0.0937,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3729,
"delta": 0.0179,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4435,
"delta": -0.0565,
"percent_delta": -0.113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.452,
"after": 0.4768,
"delta": 0.0248,
"percent_delta": 0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.382,
"delta": -0.001,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.683,
"after": 0.6813,
"delta": -0.0017,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.286,
"after": 0.3451,
"delta": 0.0591,
"percent_delta": 0.2066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.5,
"after": 0.4435,
"delta": -0.0565,
"percent_delta": -0.113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1778,
"predicted_3B": 0.0067,
"predicted_AB": 3.8243,
"predicted_AVG": 0.3137,
"predicted_BB": 0.3474,
"predicted_H": 1.1995,
"predicted_HBP": 0.126,
"predicted_HR": 0.0296,
"predicted_OBP": 0.3708,
"predicted_R": 0.4534,
"predicted_RBI": 0.4875,
"predicted_SLG": 0.3869,
"predicted_SO": 0.6767
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1778,
"after": 0.1778,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8243,
"after": 3.8243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3093,
"after": 0.3137,
"delta": 0.0044,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3451,
"after": 0.3474,
"delta": 0.0023,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1839,
"after": 1.1995,
"delta": 0.0156,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.126,
"after": 0.126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.029,
"after": 0.0296,
"delta": 0.0006,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3729,
"after": 0.3708,
"delta": -0.0021,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4435,
"after": 0.4534,
"delta": 0.0099,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4768,
"after": 0.4875,
"delta": 0.0107,
"percent_delta": 0.0224,
"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.6813,
"after": 0.6767,
"delta": -0.0046,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.82), rates preserved: AVG=0.314 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1778,
"after": 0.0,
"delta": -0.1778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8243,
"after": 4.0,
"delta": 0.1757,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3474,
"after": 0.0,
"delta": -0.3474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1995,
"after": 1.0,
"delta": -0.1995,
"percent_delta": -0.1663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.126,
"after": 0.0,
"delta": -0.126,
"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.4875,
"after": 1.0,
"delta": 0.5125,
"percent_delta": 1.0513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6767,
"after": 1.0,
"delta": 0.3233,
"percent_delta": 0.4778,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4875,
"after": 1.0,
"delta": 0.5125,
"percent_delta": 1.0513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3474,
"after": 0.0,
"delta": -0.3474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4534,
"after": 0.0,
"delta": -0.4534,
"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.4534,
"after": 0.0,
"delta": -0.4534,
"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.314,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.376,
"predicted_R": 0.0,
"predicted_RBI": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3137,
"after": 0.314,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3708,
"after": 0.376,
"delta": 0.0052,
"percent_delta": 0.014,
"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.3869,
"after": 0.387,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3708,
"after": 0.376,
"delta": 0.0052,
"percent_delta": 0.014,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3137,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3708,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3869,
"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.314,
"after": 0.3137,
"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_CS",
"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.376,
"after": 0.3708,
"delta": -0.0052,
"percent_delta": -0.0138,
"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.387,
"after": 0.3869,
"delta": -0.0001,
"percent_delta": -0.0004,
"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.376,
"after": 0.3708,
"delta": -0.0052,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 4.0,
"delta": 0.19,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.306,
"after": 0.3137,
"delta": 0.0077,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.167,
"after": 2.0,
"delta": 0.833,
"percent_delta": 0.7138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3708,
"delta": 0.0158,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3869,
"delta": 0.0039,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.683,
"after": 2.0,
"delta": 1.317,
"percent_delta": 1.9283,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.683,
"after": 2.0,
"delta": 1.317,
"percent_delta": 1.9283,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.306 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 1.167 | - |
| predicted_HR | 0.032 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.452 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 0.683 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.007 | -0.001 |
| predicted_AB | 3.824 | 0.014 |
| predicted_AVG | 0.309 | 0.003 |
| predicted_BB | 0.345 | 0.059 |
| predicted_H | 1.184 | 0.017 |
| predicted_HBP | 0.126 | - |
| predicted_HR | 0.029 | -0.003 |
| predicted_OBP | 0.373 | 0.018 |
| predicted_R | 0.444 | -0.056 |
| predicted_RBI | 0.477 | 0.025 |
| predicted_SLG | 0.382 | -0.001 |
| predicted_SO | 0.681 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.824 | 0.000 |
| predicted_AVG | 0.314 | 0.004 |
| predicted_BB | 0.347 | 0.002 |
| predicted_H | 1.200 | 0.016 |
| predicted_HBP | 0.126 | 0.000 |
| predicted_HR | 0.030 | 0.001 |
| predicted_OBP | 0.371 | -0.002 |
| predicted_R | 0.453 | 0.010 |
| predicted_RBI | 0.487 | 0.011 |
| predicted_SLG | 0.387 | 0.005 |
| predicted_SO | 0.677 | -0.005 |
AB rounded to 4 (raw=3.82), rates preserved: AVG=0.314 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 | 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.178 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.176 |
| predicted_AVG | 0.314 | 0.000 |
| predicted_BB | 0.000 | -0.347 |
| predicted_H | 1.000 | -0.200 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.376 | 0.005 |
| predicted_R | 0.000 | -0.453 |
| predicted_RBI | 1.000 | 0.512 |
| predicted_SLG | 0.387 | 0.000 |
| predicted_SO | 1.000 | 0.323 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -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 | 7.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 4.000 | 3.000 | 0.3684 | 0.5000 | 0.4211 | 0.3684 | 0.0000 | 0.1579 | 0.2105 | 0.1579 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 1.000 | 0.000 | 0.000 | 6.000 | 1.000 | 5.000 | 7.000 | 0.3000 | 0.4043 | 0.3250 | 0.3000 | 0.0000 | 0.1500 | 0.1250 | 0.1750 |
| season | 0.60 | 126 | - | 480.000 | 147.000 | 23.000 | 1.000 | 4.000 | 57.000 | 63.000 | 36.000 | 86.000 | 0.3063 | 0.3674 | 0.3833 | 0.3063 | 0.0083 | 0.1187 | 0.0750 | 0.1792 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8430 |
| predicted_AVG | 0.3137 |
| predicted_BB | 0.4220 |
| predicted_H | 1.2060 |
| predicted_HBP | 0.1260 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.3962 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.5090 |
| predicted_SLG | 0.3807 |
| predicted_SO | 0.6790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.1710 | 0.1778 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.8100 | 3.8430 | 3.8243 | model_form_blend |
| predicted_AVG | 0.3060 | 0.3137 | 0.3093 | model_form_blend |
| predicted_BB | 0.2860 | 0.4220 | 0.3451 | model_form_blend |
| predicted_H | 1.1670 | 1.2060 | 1.1839 | model_form_blend |
| predicted_HBP | - | 0.1260 | 0.1260 | form_only |
| predicted_HR | 0.0320 | 0.0250 | 0.0290 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3962 | 0.3729 | model_form_blend |
| predicted_R | 0.5000 | 0.3700 | 0.4435 | model_form_blend |
| predicted_RBI | 0.4520 | 0.5090 | 0.4768 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3807 | 0.3820 | model_form_blend |
| predicted_SO | 0.6830 | 0.6790 | 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 | 500 |
| Season rows before report date | 500 |
| 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 | 2 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.344 |
| sl_xwoba | 0.326 |
| sl_xba | 0.283 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 7.0 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 52.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.220 | 1.000 | 0.000 | Hitting_2B | 0.216 | 1.000 | 0.784 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.937 | 4.000 | 4.000 | Hitting_AB | 4.046 | 4.000 | -0.046 | 0.000 |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | 0.253 | 0.250 | -0.003 | 0.000 |
| predicted_BB | 0.409 | 0.000 | 0.000 | Hitting_BB | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 1.022 | 1.000 | -0.022 | 0.000 |
| predicted_HR | 0.228 | 0.000 | 1.000 | Hitting_HR | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_OBP | 0.324 | 0.250 | 0.250 | Hitting_OBP | 0.322 | 0.400 | -0.072 | -0.150 |
| predicted_R | 0.646 | 1.000 | 1.000 | Hitting_R | 0.684 | 0.000 | 0.316 | 1.000 |
| predicted_RBI | 0.654 | 0.000 | 1.000 | Hitting_RBI | 0.736 | 0.000 | -0.736 | 0.000 |
| predicted_SLG | 0.488 | 0.500 | 1.000 | Hitting_SLG | 0.488 | 0.500 | 0.012 | 0.000 |
| predicted_SO | 1.291 | 1.000 | 1.000 | Hitting_SO | 1.310 | 0.000 | -0.310 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_2B: 0.2200 -> 1.0000 (boost 0.7800, better) |
| Biggest Deboost | predicted_RBI: 0.6540 -> 0.0000 (deboost -0.6540, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 1.0000 -> 1.0605 (boost 0.0605, better) | predicted_AB: 3.9370 -> 3.8865 (deboost -0.0505, worse) | Final model input calibrated with local 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.5237 -> 0.5302 (boost 0.0065, 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_RBI: 0.6295 -> 1.0000 (boost 0.3705, better) | predicted_BB: 0.4420 -> 0.0000 (deboost -0.4420, worse) | AB rounded to 4 (raw=3.94), rates preserved: AVG=0.273 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7205 -> 1.0000 (boost 0.2795, 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 | 0 | 2 | 0 | 2 | - | 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 | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.5230 -> 0.5302 (boost 0.0072, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664040",
"player_name": "Brandon Lowe",
"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.22,
"predicted_3B": 0.008,
"predicted_AB": 3.937,
"predicted_AVG": 0.254,
"predicted_BB": 0.409,
"predicted_H": 1.0,
"predicted_HR": 0.228,
"predicted_OBP": 0.324,
"predicted_R": 0.646,
"predicted_RBI": 0.654,
"predicted_SLG": 0.488,
"predicted_SO": 1.291
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2418,
"predicted_3B": 0.0067,
"predicted_AB": 3.8865,
"predicted_AVG": 0.2732,
"predicted_BB": 0.439,
"predicted_H": 1.0605,
"predicted_HBP": 0.01,
"predicted_HR": 0.2389,
"predicted_OBP": 0.3456,
"predicted_R": 0.7047,
"predicted_RBI": 0.6157,
"predicted_SLG": 0.5237,
"predicted_SO": 1.2566
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.22,
"after": 0.2418,
"delta": 0.0218,
"percent_delta": 0.0991,
"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.937,
"after": 3.8865,
"delta": -0.0505,
"percent_delta": -0.0128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2732,
"delta": 0.0192,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.439,
"delta": 0.03,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0605,
"delta": 0.0605,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.228,
"after": 0.2389,
"delta": 0.0109,
"percent_delta": 0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3456,
"delta": 0.0216,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 0.7047,
"delta": 0.0587,
"percent_delta": 0.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.654,
"after": 0.6157,
"delta": -0.0383,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5237,
"delta": 0.0357,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 1.2566,
"delta": -0.0344,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 1.0605,
"delta": 0.0605,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.937,
"after": 3.8865,
"delta": -0.0505,
"percent_delta": -0.0128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2418,
"predicted_3B": 0.0067,
"predicted_AB": 3.8865,
"predicted_AVG": 0.2765,
"predicted_BB": 0.442,
"predicted_H": 1.0745,
"predicted_HBP": 0.01,
"predicted_HR": 0.2436,
"predicted_OBP": 0.3503,
"predicted_R": 0.7205,
"predicted_RBI": 0.6295,
"predicted_SLG": 0.5302,
"predicted_SO": 1.2481
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2418,
"after": 0.2418,
"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.8865,
"after": 3.8865,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2732,
"after": 0.2765,
"delta": 0.0033,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.442,
"delta": 0.003,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0605,
"after": 1.0745,
"delta": 0.014,
"percent_delta": 0.0132,
"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.2389,
"after": 0.2436,
"delta": 0.0047,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3456,
"after": 0.3503,
"delta": 0.0047,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7047,
"after": 0.7205,
"delta": 0.0158,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6157,
"after": 0.6295,
"delta": 0.0138,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5237,
"after": 0.5302,
"delta": 0.0065,
"percent_delta": 0.0124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2566,
"after": 1.2481,
"delta": -0.0085,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_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.5237,
"after": 0.5302,
"delta": 0.0065,
"percent_delta": 0.0124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.94), rates preserved: AVG=0.273 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2418,
"after": 0.0,
"delta": -0.2418,
"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.8865,
"after": 4.0,
"delta": 0.1135,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0745,
"after": 1.0,
"delta": -0.0745,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2436,
"after": 0.0,
"delta": -0.2436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6295,
"after": 1.0,
"delta": 0.3705,
"percent_delta": 0.5886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2481,
"after": 1.0,
"delta": -0.2481,
"percent_delta": -0.1988,
"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.6295,
"after": 1.0,
"delta": 0.3705,
"percent_delta": 0.5886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7205,
"after": 1.0,
"delta": 0.2795,
"percent_delta": 0.3879,
"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.7205,
"after": 1.0,
"delta": 0.2795,
"percent_delta": 0.3879,
"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.273,
"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.523,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2765,
"after": 0.273,
"delta": -0.0035,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3503,
"after": 0.351,
"delta": 0.0007,
"percent_delta": 0.002,
"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.5302,
"after": 0.523,
"delta": -0.0072,
"percent_delta": -0.0136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2765,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3503,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5302,
"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.273,
"after": 0.2765,
"delta": 0.0035,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3503,
"delta": -0.0007,
"percent_delta": -0.0019,
"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.523,
"after": 0.5302,
"delta": 0.0072,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.523,
"after": 0.5302,
"delta": 0.0072,
"percent_delta": 0.0138,
"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.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"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.937,
"after": 4.0,
"delta": 0.063,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2765,
"delta": 0.0225,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3503,
"delta": 0.0263,
"percent_delta": 0.0812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5302,
"delta": 0.0422,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 1.0,
"delta": -0.291,
"percent_delta": -0.2254,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.654,
"after": 0.0,
"delta": -0.654,
"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.220 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.937 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.228 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.646 | - |
| predicted_RBI | 0.654 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 1.291 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.242 | 0.022 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.886 | -0.050 |
| predicted_AVG | 0.273 | 0.019 |
| predicted_BB | 0.439 | 0.030 |
| predicted_H | 1.060 | 0.060 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.239 | 0.011 |
| predicted_OBP | 0.346 | 0.022 |
| predicted_R | 0.705 | 0.059 |
| predicted_RBI | 0.616 | -0.038 |
| predicted_SLG | 0.524 | 0.036 |
| predicted_SO | 1.257 | -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.242 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.886 | 0.000 |
| predicted_AVG | 0.277 | 0.003 |
| predicted_BB | 0.442 | 0.003 |
| predicted_H | 1.075 | 0.014 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.244 | 0.005 |
| predicted_OBP | 0.350 | 0.005 |
| predicted_R | 0.721 | 0.016 |
| predicted_RBI | 0.629 | 0.014 |
| predicted_SLG | 0.530 | 0.006 |
| predicted_SO | 1.248 | -0.008 |
AB rounded to 4 (raw=3.94), rates preserved: AVG=0.273 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.242 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.114 |
| predicted_AVG | 0.273 | -0.004 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 1.000 | -0.075 |
| predicted_HR | 0.000 | -0.244 |
| predicted_OBP | 0.351 | 0.001 |
| predicted_R | 1.000 | 0.279 |
| predicted_RBI | 1.000 | 0.371 |
| predicted_SLG | 0.523 | -0.007 |
| predicted_SO | 1.000 | -0.248 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -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 | - | 18.000 | 8.000 | 2.000 | 0.000 | 2.000 | 3.000 | 6.000 | 3.000 | 4.000 | 0.4444 | 0.5238 | 0.8889 | 0.4444 | 0.1111 | 0.1667 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 3.000 | 0.000 | 2.000 | 3.000 | 8.000 | 6.000 | 15.000 | 0.2973 | 0.3953 | 0.5405 | 0.2973 | 0.0541 | 0.0811 | 0.1622 | 0.4054 |
| season | 0.60 | 127 | - | 500.000 | 127.000 | 28.000 | 1.000 | 29.000 | 83.000 | 82.000 | 52.000 | 164.000 | 0.2540 | 0.3226 | 0.4880 | 0.2540 | 0.0580 | 0.1660 | 0.1040 | 0.3280 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8210 |
| predicted_AVG | 0.2981 |
| predicted_BB | 0.4780 |
| predicted_H | 1.1390 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2530 |
| predicted_OBP | 0.3737 |
| predicted_R | 0.7810 |
| predicted_RBI | 0.5660 |
| predicted_SLG | 0.5700 |
| predicted_SO | 1.2120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2200 | 0.2700 | 0.2418 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.9370 | 3.8210 | 3.8865 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2981 | 0.2732 | model_form_blend |
| predicted_BB | 0.4090 | 0.4780 | 0.4390 | model_form_blend |
| predicted_H | 1.0000 | 1.1390 | 1.0605 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.2280 | 0.2530 | 0.2389 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3737 | 0.3456 | model_form_blend |
| predicted_R | 0.6460 | 0.7810 | 0.7047 | model_form_blend |
| predicted_RBI | 0.6540 | 0.5660 | 0.6157 | model_form_blend |
| predicted_SLG | 0.4880 | 0.5700 | 0.5237 | model_form_blend |
| predicted_SO | 1.2910 | 1.2120 | 1.2566 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 538 |
| Season rows before report date | 538 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_H | 1 |
| 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 | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.348 |
| sl_xwoba | 0.323 |
| sl_xba | 0.236 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 35.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_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.524 | 3.000 | 4.000 | Hitting_AB | 3.797 | 4.000 | -0.797 | -1.000 |
| predicted_AVG | 0.289 | 0.333 | 0.250 | Hitting_AVG | 0.307 | 0.250 | 0.027 | 0.083 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 1.019 | 1.000 | 1.000 | Hitting_H | 1.165 | 1.000 | -0.165 | 0.000 |
| predicted_HR | 0.038 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.327 | 0.250 | 0.250 | Hitting_OBP | 0.358 | 0.250 | -0.108 | 0.000 |
| predicted_R | 0.467 | 1.000 | 0.000 | Hitting_R | 0.538 | 0.000 | 0.462 | 1.000 |
| predicted_RBI | 0.267 | 2.000 | 0.000 | Hitting_RBI | 0.289 | 0.000 | 1.711 | 2.000 |
| predicted_SLG | 0.376 | 0.333 | 0.250 | Hitting_SLG | 0.405 | 0.250 | -0.072 | 0.083 |
| predicted_SO | 0.781 | 0.000 | 1.000 | Hitting_SO | 0.784 | 1.000 | -0.784 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.2670 -> 2.0000 (boost 1.7330, better) |
| Biggest Deboost | predicted_SO: 0.7810 -> 0.0000 (deboost -0.7810, 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 | 0 | 5 | predicted_SO: 0.7810 -> 0.8467 (boost 0.0657, worse) | predicted_H: 1.0190 -> 0.9550 (deboost -0.0640, worse) | Final model input calibrated with local 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.3192 -> 0.3131 (deboost -0.0061, 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.4806 -> 4.0000 (boost 0.5194, better) | predicted_RBI: 0.2326 -> 0.0000 (deboost -0.2326, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.275 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4498 -> 0.0000 (deboost -0.4498, 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 | 5 | 3 | 2 | 3 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "663968",
"player_name": "Jake Mangum",
"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.152,
"predicted_3B": 0.019,
"predicted_AB": 3.524,
"predicted_AVG": 0.289,
"predicted_BB": 0.2,
"predicted_H": 1.019,
"predicted_HR": 0.038,
"predicted_OBP": 0.327,
"predicted_R": 0.467,
"predicted_RBI": 0.267,
"predicted_SLG": 0.376,
"predicted_SO": 0.781
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1357,
"predicted_3B": 0.0156,
"predicted_AB": 3.4806,
"predicted_AVG": 0.2741,
"predicted_BB": 0.1764,
"predicted_H": 0.955,
"predicted_HBP": 0.128,
"predicted_HR": 0.0341,
"predicted_OBP": 0.3192,
"predicted_R": 0.4399,
"predicted_RBI": 0.2275,
"predicted_SLG": 0.3517,
"predicted_SO": 0.8467
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1357,
"delta": -0.0163,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0156,
"delta": -0.0034,
"percent_delta": -0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.524,
"after": 3.4806,
"delta": -0.0434,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2741,
"delta": -0.0149,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.1764,
"delta": -0.0236,
"percent_delta": -0.118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.019,
"after": 0.955,
"delta": -0.064,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.038,
"after": 0.0341,
"delta": -0.0039,
"percent_delta": -0.1026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3192,
"delta": -0.0078,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.4399,
"delta": -0.0271,
"percent_delta": -0.058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 0.2275,
"delta": -0.0395,
"percent_delta": -0.1479,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3517,
"delta": -0.0243,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.8467,
"delta": 0.0657,
"percent_delta": 0.0841,
"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.781,
"after": 0.8467,
"delta": 0.0657,
"percent_delta": 0.0841,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.019,
"after": 0.955,
"delta": -0.064,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1357,
"predicted_3B": 0.0156,
"predicted_AB": 3.4806,
"predicted_AVG": 0.278,
"predicted_BB": 0.1776,
"predicted_H": 0.9676,
"predicted_HBP": 0.128,
"predicted_HR": 0.0348,
"predicted_OBP": 0.3131,
"predicted_R": 0.4498,
"predicted_RBI": 0.2326,
"predicted_SLG": 0.3559,
"predicted_SO": 0.8409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1357,
"after": 0.1357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0156,
"after": 0.0156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4806,
"after": 3.4806,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2741,
"after": 0.278,
"delta": 0.0039,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1764,
"after": 0.1776,
"delta": 0.0012,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.955,
"after": 0.9676,
"delta": 0.0126,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.128,
"after": 0.128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0341,
"after": 0.0348,
"delta": 0.0007,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3192,
"after": 0.3131,
"delta": -0.0061,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4399,
"after": 0.4498,
"delta": 0.0099,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2275,
"after": 0.2326,
"delta": 0.0051,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3517,
"after": 0.3559,
"delta": 0.0042,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8467,
"after": 0.8409,
"delta": -0.0058,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3192,
"after": 0.3131,
"delta": -0.0061,
"percent_delta": -0.0191,
"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.275 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1357,
"after": 0.0,
"delta": -0.1357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0156,
"after": 0.0,
"delta": -0.0156,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4806,
"after": 4.0,
"delta": 0.5194,
"percent_delta": 0.1492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1776,
"after": 0.0,
"delta": -0.1776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9676,
"after": 1.0,
"delta": 0.0324,
"percent_delta": 0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0348,
"after": 0.0,
"delta": -0.0348,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2326,
"after": 0.0,
"delta": -0.2326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8409,
"after": 1.0,
"delta": 0.1591,
"percent_delta": 0.1892,
"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.4806,
"after": 4.0,
"delta": 0.5194,
"percent_delta": 0.1492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2326,
"after": 0.0,
"delta": -0.2326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4498,
"after": 0.0,
"delta": -0.4498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"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.275,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.352,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.275,
"delta": -0.003,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3131,
"after": 0.315,
"delta": 0.0019,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3559,
"after": 0.352,
"delta": -0.0039,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.278,
"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.3131,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3559,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.278,
"delta": 0.003,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3131,
"delta": -0.0019,
"percent_delta": -0.0062,
"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": 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.352,
"after": 0.3559,
"delta": 0.0039,
"percent_delta": 0.0111,
"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.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.524,
"after": 3.0,
"delta": -0.524,
"percent_delta": -0.1487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.278,
"delta": -0.011,
"percent_delta": -0.0381,
"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.019,
"after": 1.0,
"delta": -0.019,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3131,
"delta": -0.0139,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 1.0,
"delta": 0.533,
"percent_delta": 1.1413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 2.0,
"delta": 1.733,
"percent_delta": 6.4906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3559,
"delta": -0.0201,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 0.0,
"delta": -0.781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.267,
"after": 2.0,
"delta": 1.733,
"percent_delta": 6.4906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.781,
"after": 0.0,
"delta": -0.781,
"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.152 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.524 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 1.019 | - |
| predicted_HR | 0.038 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.267 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.781 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | -0.016 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.481 | -0.043 |
| predicted_AVG | 0.274 | -0.015 |
| predicted_BB | 0.176 | -0.024 |
| predicted_H | 0.955 | -0.064 |
| predicted_HBP | 0.128 | - |
| predicted_HR | 0.034 | -0.004 |
| predicted_OBP | 0.319 | -0.008 |
| predicted_R | 0.440 | -0.027 |
| predicted_RBI | 0.228 | -0.040 |
| predicted_SLG | 0.352 | -0.024 |
| predicted_SO | 0.847 | 0.066 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.481 | 0.000 |
| predicted_AVG | 0.278 | 0.004 |
| predicted_BB | 0.178 | 0.001 |
| predicted_H | 0.968 | 0.013 |
| predicted_HBP | 0.128 | 0.000 |
| predicted_HR | 0.035 | 0.001 |
| predicted_OBP | 0.313 | -0.006 |
| predicted_R | 0.450 | 0.010 |
| predicted_RBI | 0.233 | 0.005 |
| predicted_SLG | 0.356 | 0.004 |
| predicted_SO | 0.841 | -0.006 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.275 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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.136 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.519 |
| predicted_AVG | 0.275 | -0.003 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.032 |
| predicted_HR | 0.000 | -0.035 |
| predicted_OBP | 0.315 | 0.002 |
| predicted_R | 0.000 | -0.450 |
| predicted_RBI | 0.000 | -0.233 |
| predicted_SLG | 0.352 | -0.004 |
| predicted_SO | 1.000 | 0.159 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 5.000 | 0.2500 | 0.2941 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 13.000 | 0.1562 | 0.2286 | 0.1875 | 0.1562 | 0.0000 | 0.0000 | 0.0312 | 0.4062 |
| season | 0.60 | 105 | - | 370.000 | 107.000 | 16.000 | 2.000 | 4.000 | 28.000 | 49.000 | 21.000 | 82.000 | 0.2892 | 0.3408 | 0.3757 | 0.2892 | 0.0108 | 0.0757 | 0.0568 | 0.2216 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.4230 |
| predicted_AVG | 0.2543 |
| predicted_BB | 0.1450 |
| predicted_H | 0.8700 |
| predicted_HBP | 0.1280 |
| predicted_HR | 0.0290 |
| predicted_OBP | 0.3088 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.1750 |
| predicted_SLG | 0.3195 |
| predicted_SO | 0.9340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1140 | 0.1357 | model_form_blend |
| predicted_3B | 0.0190 | 0.0110 | 0.0156 | model_form_blend |
| predicted_AB | 3.5240 | 3.4230 | 3.4806 | model_form_blend |
| predicted_AVG | 0.2890 | 0.2543 | 0.2741 | model_form_blend |
| predicted_BB | 0.2000 | 0.1450 | 0.1764 | model_form_blend |
| predicted_H | 1.0190 | 0.8700 | 0.9550 | model_form_blend |
| predicted_HBP | - | 0.1280 | 0.1280 | form_only |
| predicted_HR | 0.0380 | 0.0290 | 0.0341 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3088 | 0.3192 | model_form_blend |
| predicted_R | 0.4670 | 0.4040 | 0.4399 | model_form_blend |
| predicted_RBI | 0.2670 | 0.1750 | 0.2275 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3195 | 0.3517 | model_form_blend |
| predicted_SO | 0.7810 | 0.9340 | 0.8467 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 394 |
| Season rows before report date | 394 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| 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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.318 |
| sl_xwoba | 0.282 |
| sl_xba | 0.245 |
| sl_xslg | 0.323 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 27.7 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 4.2 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 58.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.138 | 1.000 | 1.000 | Hitting_2B | 0.115 | 1.000 | 0.885 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.677 | 4.000 | 3.000 | Hitting_AB | 2.793 | 1.000 | 1.207 | 3.000 |
| predicted_AVG | 0.218 | 0.500 | 0.333 | Hitting_AVG | 0.177 | 1.000 | 0.323 | -0.500 |
| predicted_BB | 0.154 | 0.000 | 0.000 | Hitting_BB | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.585 | 2.000 | 1.000 | Hitting_H | 0.494 | 1.000 | 1.506 | 1.000 |
| predicted_HR | 0.062 | 1.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | 0.908 | 1.000 |
| predicted_OBP | 0.261 | 0.500 | 0.333 | Hitting_OBP | 0.202 | 1.000 | 0.298 | -0.500 |
| predicted_R | 0.277 | 1.000 | 0.000 | Hitting_R | 0.253 | 0.000 | 0.747 | 1.000 |
| predicted_RBI | 0.400 | 3.000 | 0.000 | Hitting_RBI | 0.310 | 0.000 | 2.690 | 3.000 |
| predicted_SLG | 0.339 | 1.500 | 0.667 | Hitting_SLG | 0.317 | 2.000 | 1.183 | -0.500 |
| predicted_SO | 0.569 | 1.000 | 1.000 | Hitting_SO | 0.391 | 0.000 | 0.609 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 10 |
| Deboosted Metrics | 1 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4000 -> 3.0000 (boost 2.6000, better) |
| Biggest Deboost | predicted_BB: 0.1540 -> 0.0000 (deboost -0.1540, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_OBP: 0.2610 -> 0.2839 (boost 0.0229, 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 | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.5525 -> 1.0000 (boost 0.4475, worse) | predicted_RBI: 0.4014 -> 0.0000 (deboost -0.4014, worse) | AB rounded to 3 (raw=2.68), rates preserved: AVG=0.235 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2740 -> 0.0000 (deboost -0.2740, 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_SLG: 0.3630 -> 0.3690 (boost 0.0060, 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 | 6 | 6 | 0 | 6 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3690 -> 0.3630 (deboost -0.0060, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0,
"predicted_AB": 2.677,
"predicted_AVG": 0.218,
"predicted_BB": 0.154,
"predicted_H": 0.585,
"predicted_HR": 0.062,
"predicted_OBP": 0.261,
"predicted_R": 0.277,
"predicted_RBI": 0.4,
"predicted_SLG": 0.339,
"predicted_SO": 0.569
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1712,
"predicted_3B": 0.0004,
"predicted_AB": 2.6659,
"predicted_AVG": 0.2326,
"predicted_BB": 0.1606,
"predicted_H": 0.6206,
"predicted_HBP": 0.092,
"predicted_HR": 0.0546,
"predicted_OBP": 0.2839,
"predicted_R": 0.268,
"predicted_RBI": 0.3926,
"predicted_SLG": 0.3589,
"predicted_SO": 0.5563
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1712,
"delta": 0.0332,
"percent_delta": 0.2406,
"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.677,
"after": 2.6659,
"delta": -0.0111,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2326,
"delta": 0.0146,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.1606,
"delta": 0.0066,
"percent_delta": 0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.585,
"after": 0.6206,
"delta": 0.0356,
"percent_delta": 0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0546,
"delta": -0.0074,
"percent_delta": -0.1194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2839,
"delta": 0.0229,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.277,
"after": 0.268,
"delta": -0.009,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3926,
"delta": -0.0074,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3589,
"delta": 0.0199,
"percent_delta": 0.0587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.569,
"after": 0.5563,
"delta": -0.0127,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2839,
"delta": 0.0229,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1712,
"predicted_3B": 0.0004,
"predicted_AB": 2.6659,
"predicted_AVG": 0.2359,
"predicted_BB": 0.1617,
"predicted_H": 0.6288,
"predicted_HBP": 0.092,
"predicted_HR": 0.0557,
"predicted_OBP": 0.2796,
"predicted_R": 0.274,
"predicted_RBI": 0.4014,
"predicted_SLG": 0.363,
"predicted_SO": 0.5525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1712,
"after": 0.1712,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6659,
"after": 2.6659,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2326,
"after": 0.2359,
"delta": 0.0033,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1606,
"after": 0.1617,
"delta": 0.0011,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6206,
"after": 0.6288,
"delta": 0.0082,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0546,
"after": 0.0557,
"delta": 0.0011,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2839,
"after": 0.2796,
"delta": -0.0043,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.274,
"delta": 0.006,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3926,
"after": 0.4014,
"delta": 0.0088,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3589,
"after": 0.363,
"delta": 0.0041,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5563,
"after": 0.5525,
"delta": -0.0038,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.68), rates preserved: AVG=0.235 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1712,
"after": 0.0,
"delta": -0.1712,
"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.6659,
"after": 3.0,
"delta": 0.3341,
"percent_delta": 0.1253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1617,
"after": 0.0,
"delta": -0.1617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6288,
"after": 1.0,
"delta": 0.3712,
"percent_delta": 0.5903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0557,
"after": 0.0,
"delta": -0.0557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4014,
"after": 0.0,
"delta": -0.4014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5525,
"after": 1.0,
"delta": 0.4475,
"percent_delta": 0.81,
"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.5525,
"after": 1.0,
"delta": 0.4475,
"percent_delta": 0.81,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4014,
"after": 0.0,
"delta": -0.4014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.274,
"after": 0.0,
"delta": -0.274,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.274,
"after": 0.0,
"delta": -0.274,
"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.235,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.369,
"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.2359,
"after": 0.235,
"delta": -0.0009,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2796,
"after": 0.284,
"delta": 0.0044,
"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_SLG",
"before": 0.363,
"after": 0.369,
"delta": 0.006,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.369,
"delta": 0.006,
"percent_delta": 0.0165,
"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": 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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"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.2359,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2796,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.363,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2359,
"delta": 0.0009,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.284,
"after": 0.2796,
"delta": -0.0044,
"percent_delta": -0.0156,
"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.369,
"after": 0.363,
"delta": -0.006,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.369,
"after": 0.363,
"delta": -0.006,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 1.0,
"delta": 0.862,
"percent_delta": 6.2464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.677,
"after": 4.0,
"delta": 1.323,
"percent_delta": 0.4942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2359,
"delta": 0.0179,
"percent_delta": 0.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.585,
"after": 2.0,
"delta": 1.415,
"percent_delta": 2.4188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 1.0,
"delta": 0.938,
"percent_delta": 15.129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2796,
"delta": 0.0186,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.277,
"after": 1.0,
"delta": 0.723,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 3.0,
"delta": 2.6,
"percent_delta": 6.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.363,
"delta": 0.024,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 10,
"deboosted_metrics": 1,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4,
"after": 3.0,
"delta": 2.6,
"percent_delta": 6.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.677 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.154 | - |
| predicted_H | 0.585 | - |
| predicted_HR | 0.062 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.277 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.339 | - |
| predicted_SO | 0.569 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.033 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.666 | -0.011 |
| predicted_AVG | 0.233 | 0.015 |
| predicted_BB | 0.161 | 0.007 |
| predicted_H | 0.621 | 0.036 |
| predicted_HBP | 0.092 | - |
| predicted_HR | 0.055 | -0.007 |
| predicted_OBP | 0.284 | 0.023 |
| predicted_R | 0.268 | -0.009 |
| predicted_RBI | 0.393 | -0.007 |
| predicted_SLG | 0.359 | 0.020 |
| predicted_SO | 0.556 | -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.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.666 | 0.000 |
| predicted_AVG | 0.236 | 0.003 |
| predicted_BB | 0.162 | 0.001 |
| predicted_H | 0.629 | 0.008 |
| predicted_HBP | 0.092 | 0.000 |
| predicted_HR | 0.056 | 0.001 |
| predicted_OBP | 0.280 | -0.004 |
| predicted_R | 0.274 | 0.006 |
| predicted_RBI | 0.401 | 0.009 |
| predicted_SLG | 0.363 | 0.004 |
| predicted_SO | 0.552 | -0.004 |
AB rounded to 3 (raw=2.68), rates preserved: AVG=0.235 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.171 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.334 |
| predicted_AVG | 0.235 | -0.001 |
| predicted_BB | 0.000 | -0.162 |
| predicted_H | 1.000 | 0.371 |
| predicted_HR | 0.000 | -0.056 |
| predicted_OBP | 0.284 | 0.004 |
| predicted_R | 0.000 | -0.274 |
| predicted_RBI | 0.000 | -0.401 |
| predicted_SLG | 0.369 | 0.006 |
| predicted_SO | 1.000 | 0.448 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.4000 | 0.5000 | 0.6000 | 0.4000 | 0.0000 | 0.2000 | 0.1000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 6.000 | 0.2174 | 0.2800 | 0.3043 | 0.2174 | 0.0000 | 0.0870 | 0.0435 | 0.2609 |
| season | 0.60 | 65 | - | 174.000 | 38.000 | 9.000 | 0.000 | 4.000 | 26.000 | 18.000 | 10.000 | 37.000 | 0.2184 | 0.2713 | 0.3391 | 0.2184 | 0.0230 | 0.1494 | 0.0575 | 0.2126 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.6500 |
| predicted_AVG | 0.2536 |
| predicted_BB | 0.1700 |
| predicted_H | 0.6720 |
| predicted_HBP | 0.0920 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.3170 |
| predicted_R | 0.2550 |
| predicted_RBI | 0.3820 |
| predicted_SLG | 0.3875 |
| predicted_SO | 0.5380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.2190 | 0.1712 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.6770 | 2.6500 | 2.6659 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2536 | 0.2326 | model_form_blend |
| predicted_BB | 0.1540 | 0.1700 | 0.1606 | model_form_blend |
| predicted_H | 0.5850 | 0.6720 | 0.6206 | model_form_blend |
| predicted_HBP | - | 0.0920 | 0.0920 | form_only |
| predicted_HR | 0.0620 | 0.0440 | 0.0546 | model_form_blend |
| predicted_OBP | 0.2610 | 0.3170 | 0.2839 | model_form_blend |
| predicted_R | 0.2770 | 0.2550 | 0.2680 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3820 | 0.3926 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3875 | 0.3589 | model_form_blend |
| predicted_SO | 0.5690 | 0.5380 | 0.5563 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 87 |
| Season rows before report date | 87 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-SS |
| gameID | 20260902_SF@PIT |
| game_type | ph |
| mlbID | 694378 |
| note | Doubled for Triolo in the 9th. |
| playerID | 694378 |
| playerName | Jacob Gonzalez |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.288 |
| sl_xwoba | 0.311 |
| sl_xba | 0.258 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 56.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.750 | 3.000 | 4.000 | Hitting_AB | 3.118 | 4.000 | -0.118 | -1.000 |
| predicted_AVG | 0.157 | 0.333 | 0.250 | Hitting_AVG | 0.269 | 0.000 | 0.064 | 0.333 |
| predicted_BB | 0.370 | 1.000 | 0.000 | Hitting_BB | 0.426 | 1.000 | 0.574 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 1.000 | 1.000 | Hitting_H | 0.838 | 0.000 | 0.162 | 1.000 |
| predicted_HR | 0.180 | 1.000 | 0.000 | Hitting_HR | 0.338 | 0.000 | 0.662 | 1.000 |
| predicted_OBP | 0.235 | 0.500 | 0.250 | Hitting_OBP | 0.357 | 0.200 | 0.143 | 0.300 |
| predicted_R | 0.407 | 1.000 | 0.000 | Hitting_R | 0.529 | 1.000 | 0.471 | 0.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.809 | 0.000 | 0.191 | 1.000 |
| predicted_SLG | 0.345 | 1.333 | 0.250 | Hitting_SLG | 0.632 | 0.000 | 0.701 | 1.333 |
| predicted_SO | 1.111 | 2.000 | 1.000 | Hitting_SO | 1.029 | 1.000 | 0.971 | 1.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_SO: 1.1110 -> 2.0000 (boost 0.8890, worse) |
| Biggest Deboost | predicted_AB: 3.7500 -> 3.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 | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.3450 -> 0.3612 (boost 0.0162, better) | predicted_AB: 3.7500 -> 3.6161 (deboost -0.1339, worse) | Final model input calibrated with local 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 | 4 | 3 | predicted_H: 0.6024 -> 1.0000 (boost 0.3976, better) | predicted_BB: 0.3625 -> 0.0000 (deboost -0.3625, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.161 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4118 -> 0.0000 (deboost -0.4118, 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 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.1666 -> 0.1610 (deboost -0.0056, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 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 | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1610 -> 0.1666 (boost 0.0056, better) | - | 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.111,
"predicted_3B": 0.0,
"predicted_AB": 3.75,
"predicted_AVG": 0.157,
"predicted_BB": 0.37,
"predicted_H": 0.59,
"predicted_HR": 0.18,
"predicted_OBP": 0.235,
"predicted_R": 0.407,
"predicted_RBI": 0.62,
"predicted_SLG": 0.345,
"predicted_SO": 1.111
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1099,
"predicted_3B": 0.0011,
"predicted_AB": 3.6161,
"predicted_AVG": 0.1646,
"predicted_BB": 0.3601,
"predicted_H": 0.5946,
"predicted_HBP": 0.007,
"predicted_HR": 0.1876,
"predicted_OBP": 0.2426,
"predicted_R": 0.4028,
"predicted_RBI": 0.6036,
"predicted_SLG": 0.3612,
"predicted_SO": 1.1194
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1099,
"delta": -0.0011,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.6161,
"delta": -0.1339,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.157,
"after": 0.1646,
"delta": 0.0076,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.37,
"after": 0.3601,
"delta": -0.0099,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.5946,
"delta": 0.0046,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1876,
"delta": 0.0076,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.2426,
"delta": 0.0076,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.4028,
"delta": -0.0042,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6036,
"delta": -0.0164,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3612,
"delta": 0.0162,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.1194,
"delta": 0.0084,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3612,
"delta": 0.0162,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.6161,
"delta": -0.1339,
"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": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1099,
"predicted_3B": 0.0011,
"predicted_AB": 3.6161,
"predicted_AVG": 0.1666,
"predicted_BB": 0.3625,
"predicted_H": 0.6024,
"predicted_HBP": 0.007,
"predicted_HR": 0.1913,
"predicted_OBP": 0.2425,
"predicted_R": 0.4118,
"predicted_RBI": 0.6171,
"predicted_SLG": 0.3563,
"predicted_SO": 1.1118
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1099,
"after": 0.1099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6161,
"after": 3.6161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1646,
"after": 0.1666,
"delta": 0.002,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3601,
"after": 0.3625,
"delta": 0.0024,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5946,
"after": 0.6024,
"delta": 0.0078,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1876,
"after": 0.1913,
"delta": 0.0037,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2426,
"after": 0.2425,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4028,
"after": 0.4118,
"delta": 0.009,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6036,
"after": 0.6171,
"delta": 0.0135,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3612,
"after": 0.3563,
"delta": -0.0049,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1194,
"after": 1.1118,
"delta": -0.0076,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.75), rates preserved: AVG=0.161 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1099,
"after": 0.0,
"delta": -0.1099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6161,
"after": 4.0,
"delta": 0.3839,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3625,
"after": 0.0,
"delta": -0.3625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6024,
"after": 1.0,
"delta": 0.3976,
"percent_delta": 0.66,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1913,
"after": 0.0,
"delta": -0.1913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6171,
"after": 1.0,
"delta": 0.3829,
"percent_delta": 0.6205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1118,
"after": 1.0,
"delta": -0.1118,
"percent_delta": -0.1006,
"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_H",
"before": 0.6024,
"after": 1.0,
"delta": 0.3976,
"percent_delta": 0.66,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3625,
"after": 0.0,
"delta": -0.3625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4118,
"after": 0.0,
"delta": -0.4118,
"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.4118,
"after": 0.0,
"delta": -0.4118,
"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.161,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.241,
"predicted_R": 0.0,
"predicted_RBI": 1.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.1666,
"after": 0.161,
"delta": -0.0056,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2425,
"after": 0.241,
"delta": -0.0015,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.3563,
"after": 0.351,
"delta": -0.0053,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1666,
"after": 0.161,
"delta": -0.0056,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"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.1666,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2425,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3563,
"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.161,
"after": 0.1666,
"delta": 0.0056,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2425,
"delta": 0.0015,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3563,
"delta": 0.0053,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.161,
"after": 0.1666,
"delta": 0.0056,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.0,
"delta": -0.75,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.157,
"after": 0.1666,
"delta": 0.0096,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.235,
"after": 0.2425,
"delta": 0.0075,
"percent_delta": 0.0319,
"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.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3563,
"delta": 0.0113,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 2.0,
"delta": 0.889,
"percent_delta": 0.8002,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.111,
"after": 2.0,
"delta": 0.889,
"percent_delta": 0.8002,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.0,
"delta": -0.75,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.157 | - |
| predicted_BB | 0.370 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.235 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 1.111 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.616 | -0.134 |
| predicted_AVG | 0.165 | 0.008 |
| predicted_BB | 0.360 | -0.010 |
| predicted_H | 0.595 | 0.005 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.188 | 0.008 |
| predicted_OBP | 0.243 | 0.008 |
| predicted_R | 0.403 | -0.004 |
| predicted_RBI | 0.604 | -0.016 |
| predicted_SLG | 0.361 | 0.016 |
| predicted_SO | 1.119 | 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.110 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.616 | 0.000 |
| predicted_AVG | 0.167 | 0.002 |
| predicted_BB | 0.362 | 0.002 |
| predicted_H | 0.602 | 0.008 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.191 | 0.004 |
| predicted_OBP | 0.242 | -0.000 |
| predicted_R | 0.412 | 0.009 |
| predicted_RBI | 0.617 | 0.013 |
| predicted_SLG | 0.356 | -0.005 |
| predicted_SO | 1.112 | -0.008 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.161 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.110 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.384 |
| predicted_AVG | 0.161 | -0.006 |
| predicted_BB | 0.000 | -0.362 |
| predicted_H | 1.000 | 0.398 |
| predicted_HR | 0.000 | -0.191 |
| predicted_OBP | 0.241 | -0.002 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 1.000 | 0.383 |
| predicted_SLG | 0.351 | -0.005 |
| predicted_SO | 1.000 | -0.112 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.0588 | 0.1579 | 0.2353 | 0.0588 | 0.0588 | 0.1765 | 0.1177 | 0.4118 |
| last_10 | 0.20 | 10 | - | 34.000 | 3.000 | 1.000 | 0.000 | 1.000 | 5.000 | 2.000 | 3.000 | 13.000 | 0.0882 | 0.1622 | 0.2059 | 0.0882 | 0.0294 | 0.1471 | 0.0882 | 0.3824 |
| season | 0.60 | 27 | - | 86.000 | 18.000 | 3.000 | 0.000 | 7.000 | 17.000 | 11.000 | 10.000 | 30.000 | 0.2093 | 0.2917 | 0.4884 | 0.2093 | 0.0814 | 0.1977 | 0.1163 | 0.3488 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.3980 |
| predicted_AVG | 0.1771 |
| predicted_BB | 0.3440 |
| predicted_H | 0.6020 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.2000 |
| predicted_OBP | 0.2549 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.5770 |
| predicted_SLG | 0.3875 |
| predicted_SO | 1.1330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1080 | 0.1099 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 3.7500 | 3.3980 | 3.6161 | model_form_blend |
| predicted_AVG | 0.1570 | 0.1771 | 0.1646 | model_form_blend |
| predicted_BB | 0.3700 | 0.3440 | 0.3601 | model_form_blend |
| predicted_H | 0.5900 | 0.6020 | 0.5946 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1800 | 0.2000 | 0.1876 | model_form_blend |
| predicted_OBP | 0.2350 | 0.2549 | 0.2426 | model_form_blend |
| predicted_R | 0.4070 | 0.3960 | 0.4028 | model_form_blend |
| predicted_RBI | 0.6200 | 0.5770 | 0.6036 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3875 | 0.3612 | model_form_blend |
| predicted_SO | 1.1110 | 1.1330 | 1.1194 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 68 |
| Season rows before report date | 68 |
| Report year | 2026 |
| Profile rows used | 27 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 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 | C |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 804668 |
| playerID | 804668 |
| playerName | Rafael Flores Jr. |
| pos | C |
| started | True |
| startingPosition | C |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.336 |
| sl_xwoba | 0.34 |
| sl_xba | 0.229 |
| sl_xslg | 0.482 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 16.1 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 32.4 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.124 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.600 | 4.000 | 5.000 | Hitting_AB | 3.648 | 5.000 | 0.352 | -1.000 |
| predicted_AVG | 0.220 | 0.000 | 0.200 | Hitting_AVG | 0.259 | 0.200 | -0.259 | -0.200 |
| predicted_BB | 0.474 | 0.000 | 1.000 | Hitting_BB | 0.575 | 0.000 | -0.575 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 0.944 | 1.000 | -0.944 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_OBP | 0.291 | 0.000 | 0.333 | Hitting_OBP | 0.368 | 0.200 | -0.368 | -0.200 |
| predicted_R | 0.402 | 0.000 | 0.000 | Hitting_R | 0.451 | 1.000 | -0.451 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_SLG | 0.316 | 0.000 | 0.200 | Hitting_SLG | 0.402 | 0.200 | -0.402 | -0.200 |
| predicted_SO | 0.639 | 2.000 | 1.000 | Hitting_SO | 0.620 | 1.000 | 1.380 | 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.6390 -> 2.0000 (boost 1.3610, worse) |
| Biggest Deboost | predicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.6390 -> 0.7356 (boost 0.0966, worse) | predicted_AB: 4.6000 -> 4.2219 (deboost -0.3781, worse) | Final model input calibrated with local 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.3106 -> 0.3237 (boost 0.0131, 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: 4.2219 -> 5.0000 (boost 0.7781, better) | predicted_BB: 0.4323 -> 0.0000 (deboost -0.4323, worse) | AB rounded to 5 (raw=4.60), rates preserved: AVG=0.204 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4005 -> 0.0000 (deboost -0.4005, 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 | 4 | 1 | 3 | 0 | 4 | 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.2970 -> 0.3237 (boost 0.0267, 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.124,
"predicted_3B": 0.01,
"predicted_AB": 4.6,
"predicted_AVG": 0.22,
"predicted_BB": 0.474,
"predicted_H": 1.01,
"predicted_HR": 0.12,
"predicted_OBP": 0.291,
"predicted_R": 0.402,
"predicted_RBI": 0.56,
"predicted_SLG": 0.316,
"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.1081,
"predicted_3B": 0.0087,
"predicted_AB": 4.2219,
"predicted_AVG": 0.2196,
"predicted_BB": 0.4294,
"predicted_H": 0.9259,
"predicted_HBP": 0.046,
"predicted_HR": 0.099,
"predicted_OBP": 0.2917,
"predicted_R": 0.3917,
"predicted_RBI": 0.5085,
"predicted_SLG": 0.3106,
"predicted_SO": 0.7356
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.1081,
"delta": -0.0159,
"percent_delta": -0.1282,
"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": 4.6,
"after": 4.2219,
"delta": -0.3781,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2196,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 0.4294,
"delta": -0.0446,
"percent_delta": -0.0941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9259,
"delta": -0.0841,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.099,
"delta": -0.021,
"percent_delta": -0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2917,
"delta": 0.0007,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.3917,
"delta": -0.0103,
"percent_delta": -0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5085,
"delta": -0.0515,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3106,
"delta": -0.0054,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.7356,
"delta": 0.0966,
"percent_delta": 0.1512,
"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.639,
"after": 0.7356,
"delta": 0.0966,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.6,
"after": 4.2219,
"delta": -0.3781,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 97
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1081,
"predicted_3B": 0.0087,
"predicted_AB": 4.2219,
"predicted_AVG": 0.2222,
"predicted_BB": 0.4323,
"predicted_H": 0.9381,
"predicted_HBP": 0.046,
"predicted_HR": 0.101,
"predicted_OBP": 0.2945,
"predicted_R": 0.4005,
"predicted_RBI": 0.5199,
"predicted_SLG": 0.3237,
"predicted_SO": 0.7306
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1081,
"after": 0.1081,
"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": 4.2219,
"after": 4.2219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2196,
"after": 0.2222,
"delta": 0.0026,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4294,
"after": 0.4323,
"delta": 0.0029,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9259,
"after": 0.9381,
"delta": 0.0122,
"percent_delta": 0.0132,
"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.099,
"after": 0.101,
"delta": 0.002,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2917,
"after": 0.2945,
"delta": 0.0028,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3917,
"after": 0.4005,
"delta": 0.0088,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5085,
"after": 0.5199,
"delta": 0.0114,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3106,
"after": 0.3237,
"delta": 0.0131,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7356,
"after": 0.7306,
"delta": -0.005,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_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.3106,
"after": 0.3237,
"delta": 0.0131,
"percent_delta": 0.0422,
"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.60), rates preserved: AVG=0.204 HR/AB=0.022",
"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.1081,
"after": 0.0,
"delta": -0.1081,
"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": 4.2219,
"after": 5.0,
"delta": 0.7781,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4323,
"after": 0.0,
"delta": -0.4323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9381,
"after": 1.0,
"delta": 0.0619,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"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.101,
"after": 0.0,
"delta": -0.101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5199,
"after": 1.0,
"delta": 0.4801,
"percent_delta": 0.9234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7306,
"after": 1.0,
"delta": 0.2694,
"percent_delta": 0.3687,
"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.2219,
"after": 5.0,
"delta": 0.7781,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4323,
"after": 0.0,
"delta": -0.4323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 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.4005,
"after": 0.0,
"delta": -0.4005,
"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.4005,
"after": 0.0,
"delta": -0.4005,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.204,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.278,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.297,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2222,
"after": 0.204,
"delta": -0.0182,
"percent_delta": -0.0819,
"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.2945,
"after": 0.278,
"delta": -0.0165,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3237,
"after": 0.297,
"delta": -0.0267,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2222,
"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.2945,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3237,
"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.204,
"after": 0.2222,
"delta": 0.0182,
"percent_delta": 0.0892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2945,
"delta": 0.0165,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.3237,
"delta": 0.0267,
"percent_delta": 0.0898,
"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.297,
"after": 0.3237,
"delta": 0.0267,
"percent_delta": 0.0898,
"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.124,
"after": 0.0,
"delta": -0.124,
"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.6,
"after": 4.0,
"delta": -0.6,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2222,
"delta": 0.0022,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.2945,
"delta": 0.0035,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3237,
"delta": 0.0077,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.600 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.474 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.402 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.316 | - |
| 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.108 | -0.016 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.222 | -0.378 |
| predicted_AVG | 0.220 | -0.000 |
| predicted_BB | 0.429 | -0.045 |
| predicted_H | 0.926 | -0.084 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.099 | -0.021 |
| predicted_OBP | 0.292 | 0.001 |
| predicted_R | 0.392 | -0.010 |
| predicted_RBI | 0.508 | -0.052 |
| predicted_SLG | 0.311 | -0.005 |
| predicted_SO | 0.736 | 0.097 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.222 | 0.000 |
| predicted_AVG | 0.222 | 0.003 |
| predicted_BB | 0.432 | 0.003 |
| predicted_H | 0.938 | 0.012 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.101 | 0.002 |
| predicted_OBP | 0.294 | 0.003 |
| predicted_R | 0.401 | 0.009 |
| predicted_RBI | 0.520 | 0.011 |
| predicted_SLG | 0.324 | 0.013 |
| predicted_SO | 0.731 | -0.005 |
AB rounded to 5 (raw=4.60), rates preserved: AVG=0.204 HR/AB=0.022
| 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 | 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 | 1.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.108 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 5.000 | 0.778 |
| predicted_AVG | 0.204 | -0.018 |
| predicted_BB | 0.000 | -0.432 |
| predicted_H | 1.000 | 0.062 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.278 | -0.016 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 1.000 | 0.480 |
| predicted_SLG | 0.297 | -0.027 |
| predicted_SO | 1.000 | 0.269 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -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 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 6.000 | 0.1500 | 0.1905 | 0.1500 | 0.1500 | 0.0000 | 0.1500 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 42.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 13.000 | 0.1905 | 0.2273 | 0.1905 | 0.1905 | 0.0000 | 0.0714 | 0.0476 | 0.3095 |
| season | 0.60 | 97 | - | 335.000 | 83.000 | 12.000 | 1.000 | 10.000 | 41.000 | 39.000 | 46.000 | 62.000 | 0.2478 | 0.3469 | 0.3791 | 0.2478 | 0.0299 | 0.1224 | 0.1373 | 0.1851 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0870 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7190 |
| predicted_AVG | 0.2190 |
| predicted_BB | 0.3700 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.2927 |
| predicted_R | 0.3780 |
| predicted_RBI | 0.4400 |
| predicted_SLG | 0.3035 |
| predicted_SO | 0.8640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1240 | 0.0870 | 0.1081 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.6000 | 3.7190 | 4.2219 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2190 | 0.2196 | model_form_blend |
| predicted_BB | 0.4740 | 0.3700 | 0.4294 | model_form_blend |
| predicted_H | 1.0100 | 0.8140 | 0.9259 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1200 | 0.0710 | 0.0990 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2927 | 0.2917 | model_form_blend |
| predicted_R | 0.4020 | 0.3780 | 0.3917 | model_form_blend |
| predicted_RBI | 0.5600 | 0.4400 | 0.5085 | model_form_blend |
| predicted_SLG | 0.3160 | 0.3035 | 0.3106 | model_form_blend |
| predicted_SO | 0.6390 | 0.8640 | 0.7356 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 355 |
| Season rows before report date | 355 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260902_SF@PIT |
| game_type | full |
| mlbID | 687462 |
| playerID | 687462 |
| playerName | Spencer Horwitz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.326 |
| sl_xwoba | 0.312 |
| sl_xba | 0.224 |
| sl_xslg | 0.351 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 16.0 |
| sl_swing_percent | 40.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_AB | 5.030 | 4.000 | 5.000 | Hitting_AB | 4.070 | 4.000 | -0.070 | 0.000 |
| predicted_AVG | 0.300 | 0.250 | 0.200 | Hitting_AVG | 0.276 | 0.250 | -0.026 | 0.000 |
| predicted_BB | 0.487 | 0.000 | 1.000 | Hitting_BB | 0.483 | 1.000 | -0.483 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_H | 1.510 | 1.000 | 1.000 | Hitting_H | 1.124 | 1.000 | -0.124 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_OBP | 0.403 | 0.250 | 0.333 | Hitting_OBP | 0.360 | 0.400 | -0.110 | -0.150 |
| predicted_R | 0.697 | 0.000 | 1.000 | Hitting_R | 0.772 | 0.000 | -0.772 | 0.000 |
| predicted_RBI | 0.980 | 0.000 | 1.000 | Hitting_RBI | 0.775 | 1.000 | -0.775 | -1.000 |
| predicted_SLG | 0.518 | 0.250 | 0.200 | Hitting_SLG | 0.495 | 0.250 | -0.245 | 0.000 |
| predicted_SO | 1.539 | 1.000 | 1.000 | Hitting_SO | 1.570 | 2.000 | -0.570 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.3000 -> 0.3058 (boost 0.0058, better) |
| Biggest Deboost | predicted_AB: 5.0300 -> 4.0000 (deboost -1.0300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 5.0300 -> 4.6157 (deboost -0.4143, worse) | Final model input calibrated with local 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.4980 -> 0.4663 (deboost -0.0317, 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.6157 -> 5.0000 (boost 0.3843, better) | predicted_SO: 1.5010 -> 1.0000 (deboost -0.5010, better) | AB rounded to 5 (raw=5.03), rates preserved: AVG=0.281 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7057 -> 1.0000 (boost 0.2943, 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 | 3 | 0 | 3 | 0 | 3 | - | 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.4280 -> 0.4663 (boost 0.0383, 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.145,
"predicted_3B": 0.013,
"predicted_AB": 5.03,
"predicted_AVG": 0.3,
"predicted_BB": 0.487,
"predicted_H": 1.51,
"predicted_HR": 0.2,
"predicted_OBP": 0.403,
"predicted_R": 0.697,
"predicted_RBI": 0.98,
"predicted_SLG": 0.518,
"predicted_SO": 1.539
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1467,
"predicted_3B": 0.019,
"predicted_AB": 4.6157,
"predicted_AVG": 0.3019,
"predicted_BB": 0.4665,
"predicted_H": 1.3932,
"predicted_HBP": 0.025,
"predicted_HR": 0.1817,
"predicted_OBP": 0.3917,
"predicted_R": 0.6902,
"predicted_RBI": 0.8943,
"predicted_SLG": 0.498,
"predicted_SO": 1.5113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1467,
"delta": 0.0017,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.019,
"delta": 0.006,
"percent_delta": 0.4615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.03,
"after": 4.6157,
"delta": -0.4143,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3019,
"delta": 0.0019,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.487,
"after": 0.4665,
"delta": -0.0205,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.51,
"after": 1.3932,
"delta": -0.1168,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.1817,
"delta": -0.0183,
"percent_delta": -0.0915,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.3917,
"delta": -0.0113,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.697,
"after": 0.6902,
"delta": -0.0068,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.98,
"after": 0.8943,
"delta": -0.0857,
"percent_delta": -0.0874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.498,
"delta": -0.02,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.539,
"after": 1.5113,
"delta": -0.0277,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.03,
"after": 4.6157,
"delta": -0.4143,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1467,
"predicted_3B": 0.019,
"predicted_AB": 4.6157,
"predicted_AVG": 0.3058,
"predicted_BB": 0.4697,
"predicted_H": 1.4116,
"predicted_HBP": 0.025,
"predicted_HR": 0.1853,
"predicted_OBP": 0.3699,
"predicted_R": 0.7057,
"predicted_RBI": 0.9143,
"predicted_SLG": 0.4663,
"predicted_SO": 1.501
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1467,
"after": 0.1467,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6157,
"after": 4.6157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3019,
"after": 0.3058,
"delta": 0.0039,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4665,
"after": 0.4697,
"delta": 0.0032,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3932,
"after": 1.4116,
"delta": 0.0184,
"percent_delta": 0.0132,
"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.1817,
"after": 0.1853,
"delta": 0.0036,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3917,
"after": 0.3699,
"delta": -0.0218,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6902,
"after": 0.7057,
"delta": 0.0155,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8943,
"after": 0.9143,
"delta": 0.02,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.498,
"after": 0.4663,
"delta": -0.0317,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5113,
"after": 1.501,
"delta": -0.0103,
"percent_delta": -0.0068,
"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.498,
"after": 0.4663,
"delta": -0.0317,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.03), rates preserved: AVG=0.281 HR/AB=0.037",
"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.1467,
"after": 0.0,
"delta": -0.1467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6157,
"after": 5.0,
"delta": 0.3843,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4697,
"after": 0.0,
"delta": -0.4697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4116,
"after": 1.0,
"delta": -0.4116,
"percent_delta": -0.2916,
"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.1853,
"after": 0.0,
"delta": -0.1853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9143,
"after": 1.0,
"delta": 0.0857,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.501,
"after": 1.0,
"delta": -0.501,
"percent_delta": -0.3338,
"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.6157,
"after": 5.0,
"delta": 0.3843,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.501,
"after": 1.0,
"delta": -0.501,
"percent_delta": -0.3338,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.7057,
"after": 1.0,
"delta": 0.2943,
"percent_delta": 0.417,
"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.7057,
"after": 1.0,
"delta": 0.2943,
"percent_delta": 0.417,
"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": 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": 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_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.281,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.347,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.428,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3058,
"after": 0.281,
"delta": -0.0248,
"percent_delta": -0.0811,
"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.3699,
"after": 0.347,
"delta": -0.0229,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4663,
"after": 0.428,
"delta": -0.0383,
"percent_delta": -0.0821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 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.3058,
"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.3699,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4663,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.3058,
"delta": 0.0248,
"percent_delta": 0.0883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3699,
"delta": 0.0229,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4663,
"delta": 0.0383,
"percent_delta": 0.0894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.428,
"after": 0.4663,
"delta": 0.0383,
"percent_delta": 0.0894,
"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.145,
"after": 0.0,
"delta": -0.145,
"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": 5.03,
"after": 4.0,
"delta": -1.03,
"percent_delta": -0.2048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3058,
"delta": 0.0058,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.487,
"after": 0.0,
"delta": -0.487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.51,
"after": 1.0,
"delta": -0.51,
"percent_delta": -0.3377,
"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.403,
"after": 0.3699,
"delta": -0.0331,
"percent_delta": -0.0821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.697,
"after": 0.0,
"delta": -0.697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.4663,
"delta": -0.0517,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.539,
"after": 1.0,
"delta": -0.539,
"percent_delta": -0.3502,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3058,
"delta": 0.0058,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.03,
"after": 4.0,
"delta": -1.03,
"percent_delta": -0.2048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.013 | - |
| predicted_AB | 5.030 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.487 | - |
| predicted_H | 1.510 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.403 | - |
| predicted_R | 0.697 | - |
| predicted_RBI | 0.980 | - |
| predicted_SLG | 0.518 | - |
| predicted_SO | 1.539 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.019 | 0.006 |
| predicted_AB | 4.616 | -0.414 |
| predicted_AVG | 0.302 | 0.002 |
| predicted_BB | 0.467 | -0.020 |
| predicted_H | 1.393 | -0.117 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.182 | -0.018 |
| predicted_OBP | 0.392 | -0.011 |
| predicted_R | 0.690 | -0.007 |
| predicted_RBI | 0.894 | -0.086 |
| predicted_SLG | 0.498 | -0.020 |
| predicted_SO | 1.511 | -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.147 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.616 | 0.000 |
| predicted_AVG | 0.306 | 0.004 |
| predicted_BB | 0.470 | 0.003 |
| predicted_H | 1.412 | 0.018 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.185 | 0.004 |
| predicted_OBP | 0.370 | -0.022 |
| predicted_R | 0.706 | 0.015 |
| predicted_RBI | 0.914 | 0.020 |
| predicted_SLG | 0.466 | -0.032 |
| predicted_SO | 1.501 | -0.010 |
AB rounded to 5 (raw=5.03), rates preserved: AVG=0.281 HR/AB=0.037
| 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 | 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.147 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 5.000 | 0.384 |
| predicted_AVG | 0.281 | -0.025 |
| predicted_BB | 0.000 | -0.470 |
| predicted_H | 1.000 | -0.412 |
| predicted_HR | 0.000 | -0.185 |
| predicted_OBP | 0.347 | -0.023 |
| predicted_R | 1.000 | 0.294 |
| predicted_RBI | 1.000 | 0.086 |
| predicted_SLG | 0.428 | -0.038 |
| predicted_SO | 1.000 | -0.501 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 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 | - | 23.000 | 10.000 | 1.000 | 0.000 | 0.000 | 5.000 | 4.000 | 2.000 | 7.000 | 0.4348 | 0.4800 | 0.4783 | 0.4348 | 0.0000 | 0.2174 | 0.0870 | 0.3044 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 1.000 | 1.000 | 1.000 | 8.000 | 6.000 | 4.000 | 16.000 | 0.3000 | 0.3636 | 0.4500 | 0.3000 | 0.0250 | 0.2000 | 0.1000 | 0.4000 |
| season | 0.60 | 76 | - | 299.000 | 81.000 | 11.000 | 1.000 | 17.000 | 57.000 | 53.000 | 37.000 | 117.000 | 0.2709 | 0.3569 | 0.4849 | 0.2709 | 0.0569 | 0.1906 | 0.1237 | 0.3913 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1490 |
| predicted_3B | 0.0270 |
| predicted_AB | 4.0580 |
| predicted_AVG | 0.3045 |
| predicted_BB | 0.4390 |
| predicted_H | 1.2360 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3766 |
| predicted_R | 0.6810 |
| predicted_RBI | 0.7790 |
| predicted_SLG | 0.4710 |
| predicted_SO | 1.4740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1490 | 0.1467 | model_form_blend |
| predicted_3B | 0.0130 | 0.0270 | 0.0190 | model_form_blend |
| predicted_AB | 5.0300 | 4.0580 | 4.6157 | model_form_blend |
| predicted_AVG | 0.3000 | 0.3045 | 0.3019 | model_form_blend |
| predicted_BB | 0.4870 | 0.4390 | 0.4665 | model_form_blend |
| predicted_H | 1.5100 | 1.2360 | 1.3932 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.2000 | 0.1570 | 0.1817 | model_form_blend |
| predicted_OBP | 0.4030 | 0.3766 | 0.3917 | model_form_blend |
| predicted_R | 0.6970 | 0.6810 | 0.6902 | model_form_blend |
| predicted_RBI | 0.9800 | 0.7790 | 0.8943 | model_form_blend |
| predicted_SLG | 0.5180 | 0.4710 | 0.4980 | model_form_blend |
| predicted_SO | 1.5390 | 1.4740 | 1.5113 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 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 | 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 665833 |
| playerID | 665833 |
| playerName | Oneil Cruz |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 34.5 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.365 |
| sl_xwoba | 0.354 |
| sl_xba | 0.25 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 17.2 |
| sl_hard_hit_percent | 56.0 |
| sl_exit_velocity_avg | 95.3 |
| sl_launch_angle_avg | 7.1 |
| sl_whiff_percent | 36.7 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 0.000 | 0.000 | Hitting_2B | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.064 | 4.000 | 3.000 | Hitting_AB | 3.246 | 2.000 | 0.754 | 2.000 |
| predicted_AVG | 0.268 | 0.250 | 0.333 | Hitting_AVG | 0.241 | 0.000 | 0.009 | 0.250 |
| predicted_BB | 0.287 | 0.000 | 0.000 | Hitting_BB | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.783 | 0.000 | 0.217 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.333 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.330 | 0.000 | 0.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_SLG | 0.372 | 0.250 | 0.333 | Hitting_SLG | 0.315 | 0.000 | -0.065 | 0.250 |
| predicted_SO | 0.660 | 2.000 | 1.000 | Hitting_SO | 0.683 | 0.000 | 1.317 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6600 -> 2.0000 (boost 1.3400, worse) |
| Biggest Deboost | predicted_RBI: 0.3500 -> 0.0000 (deboost -0.3500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.6900 -> 0.7622 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3724 -> 0.3451 (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 | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6517 -> 1.0000 (boost 0.3483, worse) | predicted_RBI: 0.3592 -> 0.0000 (deboost -0.3592, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.248 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3461 -> 0.0000 (deboost -0.3461, 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.3451 -> 0.3530 (boost 0.0079, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.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.3530 -> 0.3451 (deboost -0.0079, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 3.064,
"predicted_AVG": 0.268,
"predicted_BB": 0.287,
"predicted_H": 0.69,
"predicted_HR": 0.05,
"predicted_OBP": 0.332,
"predicted_R": 0.33,
"predicted_RBI": 0.35,
"predicted_SLG": 0.372,
"predicted_SO": 0.66
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1102,
"predicted_3B": 0.0004,
"predicted_AB": 3.1197,
"predicted_AVG": 0.2686,
"predicted_BB": 0.2963,
"predicted_H": 0.7622,
"predicted_HBP": 0.033,
"predicted_HR": 0.0632,
"predicted_OBP": 0.3354,
"predicted_R": 0.3385,
"predicted_RBI": 0.3513,
"predicted_SLG": 0.3724,
"predicted_SO": 0.6562
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1102,
"delta": -0.0178,
"percent_delta": -0.1391,
"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.064,
"after": 3.1197,
"delta": 0.0557,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2686,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.2963,
"delta": 0.0093,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7622,
"delta": 0.0722,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0632,
"delta": 0.0132,
"percent_delta": 0.264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3354,
"delta": 0.0034,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.33,
"after": 0.3385,
"delta": 0.0085,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3513,
"delta": 0.0013,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3724,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.66,
"after": 0.6562,
"delta": -0.0038,
"percent_delta": -0.0058,
"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.69,
"after": 0.7622,
"delta": 0.0722,
"percent_delta": 0.1046,
"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": 94
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1102,
"predicted_3B": 0.0004,
"predicted_AB": 3.1197,
"predicted_AVG": 0.2475,
"predicted_BB": 0.2983,
"predicted_H": 0.7723,
"predicted_HBP": 0.033,
"predicted_HR": 0.0645,
"predicted_OBP": 0.3132,
"predicted_R": 0.3461,
"predicted_RBI": 0.3592,
"predicted_SLG": 0.3451,
"predicted_SO": 0.6517
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1102,
"after": 0.1102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1197,
"after": 3.1197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2686,
"after": 0.2475,
"delta": -0.0211,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2963,
"after": 0.2983,
"delta": 0.002,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7622,
"after": 0.7723,
"delta": 0.0101,
"percent_delta": 0.0133,
"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.0632,
"after": 0.0645,
"delta": 0.0013,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3132,
"delta": -0.0222,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3385,
"after": 0.3461,
"delta": 0.0076,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3513,
"after": 0.3592,
"delta": 0.0079,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.3451,
"delta": -0.0273,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6562,
"after": 0.6517,
"delta": -0.0045,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.3451,
"delta": -0.0273,
"percent_delta": -0.0733,
"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.248 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1102,
"after": 0.0,
"delta": -0.1102,
"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.1197,
"after": 3.0,
"delta": -0.1197,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2983,
"after": 0.0,
"delta": -0.2983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7723,
"after": 1.0,
"delta": 0.2277,
"percent_delta": 0.2948,
"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.0645,
"after": 0.0,
"delta": -0.0645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3592,
"after": 0.0,
"delta": -0.3592,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"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.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3592,
"after": 0.0,
"delta": -0.3592,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3461,
"after": 0.0,
"delta": -0.3461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3461,
"after": 0.0,
"delta": -0.3461,
"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.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.319,
"predicted_R": 0.0,
"predicted_RBI": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2475,
"after": 0.248,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3132,
"after": 0.319,
"delta": 0.0058,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3451,
"after": 0.353,
"delta": 0.0079,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3451,
"after": 0.353,
"delta": 0.0079,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2475,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3132,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3451,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2475,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3132,
"delta": -0.0058,
"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.353,
"after": 0.3451,
"delta": -0.0079,
"percent_delta": -0.0224,
"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.353,
"after": 0.3451,
"delta": -0.0079,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "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.064,
"after": 4.0,
"delta": 0.936,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2475,
"delta": -0.0205,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3132,
"delta": -0.0188,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.372,
"after": 0.3451,
"delta": -0.0269,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"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.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.064 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.330 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.660 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.120 | 0.056 |
| predicted_AVG | 0.269 | 0.001 |
| predicted_BB | 0.296 | 0.009 |
| predicted_H | 0.762 | 0.072 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.063 | 0.013 |
| predicted_OBP | 0.335 | 0.003 |
| predicted_R | 0.339 | 0.009 |
| predicted_RBI | 0.351 | 0.001 |
| predicted_SLG | 0.372 | 0.000 |
| predicted_SO | 0.656 | -0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.120 | 0.000 |
| predicted_AVG | 0.247 | -0.021 |
| predicted_BB | 0.298 | 0.002 |
| predicted_H | 0.772 | 0.010 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.065 | 0.001 |
| predicted_OBP | 0.313 | -0.022 |
| predicted_R | 0.346 | 0.008 |
| predicted_RBI | 0.359 | 0.008 |
| predicted_SLG | 0.345 | -0.027 |
| predicted_SO | 0.652 | -0.005 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.248 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.110 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.120 |
| predicted_AVG | 0.248 | 0.001 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.228 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.319 | 0.006 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 0.000 | -0.359 |
| predicted_SLG | 0.353 | 0.008 |
| predicted_SO | 1.000 | 0.348 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 4.000 | 0.2941 | 0.3684 | 0.4706 | 0.2941 | 0.0588 | 0.1765 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 31.000 | 10.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 4.000 | 0.3226 | 0.3824 | 0.4194 | 0.3226 | 0.0323 | 0.0968 | 0.0968 | 0.1290 |
| season | 0.60 | 94 | - | 288.000 | 71.000 | 12.000 | 0.000 | 3.000 | 26.000 | 31.000 | 27.000 | 62.000 | 0.2465 | 0.3219 | 0.3194 | 0.2465 | 0.0104 | 0.0903 | 0.0938 | 0.2153 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1950 |
| predicted_AVG | 0.2693 |
| predicted_BB | 0.3090 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3401 |
| predicted_R | 0.3500 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.3729 |
| predicted_SO | 0.6510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.0860 | 0.1102 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0640 | 3.1950 | 3.1197 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2693 | 0.2686 | model_form_blend |
| predicted_BB | 0.2870 | 0.3090 | 0.2963 | model_form_blend |
| predicted_H | 0.6900 | 0.8600 | 0.7622 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.0500 | 0.0810 | 0.0632 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3401 | 0.3354 | model_form_blend |
| predicted_R | 0.3300 | 0.3500 | 0.3385 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3530 | 0.3513 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3729 | 0.3724 | model_form_blend |
| predicted_SO | 0.6600 | 0.6510 | 0.6562 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 309 |
| Season rows before report date | 309 |
| Report year | 2026 |
| Profile rows used | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_SF@PIT |
| game_type | full |
| mlbID | 669707 |
| playerID | 669707 |
| playerName | Jared Triolo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-02 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.29 |
| sl_xwoba | 0.292 |
| sl_xba | 0.247 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.125 | 0.000 | -0.125 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.125 | 1.000 | -0.125 | 0.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 2.025 | 2.100 | 2.975 | 2.900 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 2.000 | 2.000 | 3.000 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669199",
"player_name": "Lake Bachar",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"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.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": {}
},
{
"index": 4,
"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": 5.0,
"predicted_R": 1.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"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.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | -0.667 |
| predicted_SO | 5.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| 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 | 9.200 | 2.000 | 4.000 | 7.000 | 9.000 | 1.000 | 1.8621 | 1.1379 | 0.2069 | 0.4138 | 0.7241 | 0.9310 | 0.1035 |
| last_10 | 0.35 | 10 | 20.200 | 6.000 | 10.000 | 9.000 | 18.000 | 4.000 | 2.6129 | 0.9194 | 0.2903 | 0.4839 | 0.4355 | 0.8710 | 0.1935 |
| season | 0.20 | 45 | 75.100 | 26.000 | 48.000 | 28.000 | 77.000 | 12.000 | 3.1062 | 1.0088 | 0.3451 | 0.6372 | 0.3717 | 1.0221 | 0.1593 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4510 |
| predicted_ER | 0.9200 |
| predicted_ERA | 2.8960 |
| predicted_H | 1.7290 |
| predicted_HR | 0.4180 |
| predicted_IP | 3.0000 |
| predicted_SO | 2.6620 |
| predicted_WHIP | 1.1120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4510 | 1.2459 | model_form_blend |
| predicted_ER | 1.0000 | 0.9200 | 0.9564 | model_form_blend |
| predicted_ERA | - | 2.8960 | 2.8960 | form_only |
| predicted_H | 1.0000 | 1.7290 | 1.3974 | model_form_blend |
| predicted_HR | 0.0000 | 0.4180 | 0.2279 | model_form_blend |
| predicted_IP | 5.2000 | 3.0000 | 4.2000 | model_form_blend |
| predicted_SO | 5.0000 | 2.6620 | 3.7255 | model_form_blend |
| predicted_WHIP | - | 1.1120 | 1.1120 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 45 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 17 |
| Pitches | 70 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.70 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 28 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_PIT@STL |
| game_type | full |
| mlbID | 669199 |
| playerID | 669199 |
| playerName | Lake Bachar |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-29 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.286 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 34.7 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 78.80085866 |
| sl_avg_hyper_speed | 93.694862124 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.683 | 0.000 | 0.317 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.917 | 0.200 | 0.083 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.150 | 1.000 | -0.150 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "642397",
"player_name": "Gregory Soto",
"position": "Middle Reliever (High Leverage)",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 1.000 | 1.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.2143 | 0.2143 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 6.000 | 3.000 | 9.000 | 0.000 | 0.0000 | 0.9000 | 0.0000 | 0.6000 | 0.3000 | 0.9000 | 0.0000 |
| season | 0.20 | 59 | 59.200 | 18.000 | 38.000 | 23.000 | 69.000 | 5.000 | 2.7151 | 1.0223 | 0.3017 | 0.6369 | 0.3855 | 1.1564 | 0.0838 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3060 |
| predicted_ER | 0.1890 |
| predicted_ERA | 1.7008 |
| predicted_H | 0.5920 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7980 |
| predicted_WHIP | 0.8980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3060 | 0.1609 | model_form_blend |
| predicted_ER | 0.0000 | 0.1890 | 0.0994 | model_form_blend |
| predicted_ERA | - | 1.7008 | 1.7008 | form_only |
| predicted_H | 1.0000 | 0.5920 | 0.7855 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0289 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7980 | 0.8938 | model_form_blend |
| predicted_WHIP | - | 0.8980 | 0.8980 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 59 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.17 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260901_SF@PIT |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-01 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.269 |
| sl_xwoba | 0.263 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 43.6 |
| sl_avg_best_speed | 75.079527808 |
| sl_avg_hyper_speed | 93.247405448 |
| 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.444 | 1.000 | -0.444 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.667 | 2.000 | -0.667 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.111 | 2.000 | -1.111 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.822 | 0.200 | 0.278 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.111 | 0.000 | -1.111 | 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": "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": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 5.000 | 3.000 | 6.000 | 0.000 | 6.2308 | 1.8462 | 0.6923 | 1.1539 | 0.6923 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 6.000 | 10.000 | 4.000 | 11.000 | 0.000 | 5.7857 | 1.5000 | 0.6429 | 1.0714 | 0.4286 | 1.1786 | 0.0000 |
| season | 0.20 | 51 | 52.100 | 15.000 | 35.000 | 15.000 | 55.000 | 3.000 | 2.5796 | 0.9554 | 0.2866 | 0.6688 | 0.2866 | 1.0510 | 0.0573 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4710 |
| predicted_ER | 0.5630 |
| predicted_ERA | 5.0656 |
| predicted_H | 1.0100 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1470 |
| predicted_WHIP | 1.4814 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4710 | 0.2420 | model_form_blend |
| predicted_ER | 0.0000 | 0.5630 | 0.2893 | model_form_blend |
| predicted_ERA | - | 5.0656 | 5.0656 | form_only |
| predicted_H | 0.0000 | 1.0100 | 0.5190 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0283 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1470 | 0.5894 | model_form_blend |
| predicted_WHIP | - | 1.4814 | 1.4814 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.58 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 3 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260901_SF@PIT |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-01 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.238 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 78.666265909 |
| sl_avg_hyper_speed | 93.344741439 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 0.379 | 0.000 | 2.621 | 3.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 0.328 | 0.000 | 3.672 | 4.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 0.672 | 2.000 | 3.328 | 2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.848 | 1.000 | 0.352 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.534 | 0.000 | -0.534 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.2,
"predicted_R": 4.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 3.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 3.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.5625 | 0.1875 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 0.000 | 5.000 | 1.000 | 14.000 | 0.000 | 0.0000 | 0.6207 | 0.0000 | 0.5172 | 0.1035 | 1.4483 | 0.0000 |
| season | 0.20 | 57 | 56.200 | 17.000 | 37.000 | 22.000 | 89.000 | 4.000 | 2.7000 | 1.0412 | 0.3000 | 0.6529 | 0.3882 | 1.5706 | 0.0706 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2510 |
| predicted_ER | 0.1940 |
| predicted_ERA | 1.7416 |
| predicted_H | 0.6890 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1500 |
| predicted_WHIP | 0.9401 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.2510 | 1.5675 | model_form_blend |
| predicted_ER | 4.0000 | 0.1940 | 2.0167 | model_form_blend |
| predicted_ERA | - | 1.7416 | 1.7416 | form_only |
| predicted_H | 4.0000 | 0.6890 | 2.2747 | model_form_blend |
| predicted_HR | 1.0000 | 0.0550 | 0.5076 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1500 | 1.0782 | model_form_blend |
| predicted_WHIP | - | 0.9401 | 0.9401 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 4 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 1 |
| HR | 1 |
| BF | 12 |
| Pitches | 43 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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.02 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260901_SF@PIT |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-09-01 |
| sl_k_percent | 38.4 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.253 |
| sl_xwoba | 0.252 |
| sl_sweet_spot_percent | 25.8 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 42.5 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 49.3 |
| sl_avg_best_speed | 74.7456915 |
| sl_avg_hyper_speed | 94.638591681 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | STL 4 - 5 LAD | LAD | 0.530 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | STL 4 - 5 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.6458; empirical=0.5592; weight=0.5000; final=0.6025 |
| P1 | H2H margin as base feature | available | home net=-10; abs=10; home delta=-0.0577; away delta=0.0577 |
| 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.2424; recent edge=0.1480; 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.9000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | 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.769 | 5.503 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 6 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 5 | 0.5300 | 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 | 4 | 5 | - | 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.5266069532030897,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.09680231894593389,
"confidence": 0.7126120000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.2252240000000005
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.9,
"low_score_model_expected_total_runs": 6.9,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 304,
"near_bucket_sample_size": 304,
"medium_bucket_sample_size": 752,
"wide_bucket_sample_size": 775,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5592,
"bayesian_hit_rate": 0.5559,
"prior_strength": 18.0,
"raw_pick_probability": 0.5816,
"raw_pick_probability_unclamped": 0.5816,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5816,
"margin_implied_pick_probability": 0.5816,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5816,
"score_implied_floor_pick_probability": 0.5786,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.581611,
"uncapped_away_win_probability": 0.418389,
"calibrated_pick_probability": 0.5786,
"predicted_side": "home",
"reliability": 0.944099,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.963665
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.645781,
"sample_size": 304,
"empirical_hit_rate": 0.5592,
"empirical_weight": 0.5,
"blended_confidence": 0.60249,
"published_confidence": 0.53,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -10.0,
"absolute_net_margin": 10.0,
"home_average_margin": -2.0,
"home_run_delta": -0.0577,
"away_run_delta": 0.0577,
"evidence": [
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -5.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": -5.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": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899280575539568,
"runs_scored": 684,
"runs_allowed": 538,
"run_differential": 146,
"run_differential_per_game": 1.0503597122302157,
"available": true
},
"away": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631,
"runs_allowed": 639,
"run_differential": -8,
"run_differential_per_game": -0.05714285714285714,
"available": true
},
"run_differential_edge_per_game": 1.1075,
"win_pct_edge": 0.0899,
"quality_edge": 0.8594,
"season_quality_edge": 1.2424,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 1.2424,
"recent_quality_edge": 0.148,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.8594
},
"margin_adjustment": 0.3609,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": 0.3609,
"cap": 1.4,
"scale": 0.42,
"quality_edge": 0.8594,
"season_quality_edge": 1.2424,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 3.622,
"home_runs": 5.105,
"home_win_probability": 0.626
}
}{
"most_likely": [
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.022520811635456578
},
{
"home_runs": 6,
"away_runs": 4,
"probability": 0.021435678204623814
},
{
"home_runs": 5,
"away_runs": 5,
"probability": 0.02131522374916494
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.02100270761274743
},
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.020543646419573493
}
],
"home_distribution": {
"0": 0.03034411557066788,
"1": 0.05240895257120917,
"2": 0.080349081269395,
"3": 0.10934546840910424,
"4": 0.13208852854870085,
"5": 0.14163606547778745,
"6": 0.13481153214615607,
"7": 0.11390024911762012,
"8": 0.08542141126609729,
"9": 0.056866074457768576,
"10": 0.03360347533911043,
"11": 0.0176262359794289,
"12": 0.00820690495444402,
"13": 0.0033919048925101884
},
"away_distribution": {
"0": 0.045601619473145553,
"1": 0.07767633369974655,
"2": 0.11423429943932112,
"3": 0.14504530572967178,
"4": 0.1590047814409846,
"5": 0.15049291066693582,
"6": 0.12297625148618506,
"7": 0.08676125215396897,
"8": 0.052848141939747274,
"9": 0.0277928437369217,
"10": 0.012619309727989554,
"11": 0.0049469505053820065
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"predicted side recently lost this matchup by 5+ runs",
"opponent already produced an 8+ run breakout in this matchup",
"recent head-to-head is split and volatile",
"recent head-to-head margin does not support a strong repeat pick",
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs",
"repeat-pick evidence cleared the reversal bar after a blowout miss and an opponent breakout; this guardrail caps confidence and shifts runs toward the opponent, it has no authority to change the winner"
],
"signals": {
"predicted_team": "LAD",
"opponent_team": "STL",
"h2h_net_margin": -4,
"opponent_breakout": true,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 6,
"opponent_runs": 8,
"margin_for_predicted_team": -2,
"winner": "STL"
},
{
"date": "2026-09-01",
"predicted_team_runs": 8,
"opponent_runs": 13,
"margin_for_predicted_team": -5,
"winner": "STL"
},
{
"date": "2026-05-03",
"predicted_team_runs": 4,
"opponent_runs": 1,
"margin_for_predicted_team": 3,
"winner": "LAD"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 2,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "20260902",
"away": "STL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "STL",
"actual_margin": 2,
"raw_pick_probability": 0.53,
"artifact": "20260902_STL@LAD.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "STL",
"home": "LAD",
"game_number": 1,
"predicted_team": "LAD",
"actual_winner": "STL",
"actual_margin": 5,
"raw_pick_probability": 0.58,
"artifact": "20260901_STL@LAD.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": "STL",
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "STL",
"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": true,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "STL 4 - 5 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "STL 4 - 5 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.0015,
"recent_form_edge_home_minus_away": -0.062,
"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": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "LAD",
"published_winner_draw_share": 1.0,
"draw_majority_team": "LAD",
"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.8594,
"winner": "LAD",
"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": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899280575539568,
"runs_scored": 684,
"runs_allowed": 538,
"run_differential": 146,
"run_differential_per_game": 1.0503597122302157,
"available": true
},
"away": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631,
"runs_allowed": 639,
"run_differential": -8,
"run_differential_per_game": -0.05714285714285714,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 2.0,
"season_quality_edge": 0.8594,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.53,
"final_confidence": 0.5786,
"calibrated_pick_probability": 0.5786,
"shrinkage_weight": 0.963665,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.9601,
"calibration_sample_size": 304,
"calibration_empirical_hit_rate": 0.5592,
"calibration_bayesian_hit_rate": 0.5559,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.8594,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 5
},
"margin": 1,
"probability_before": 0.578645,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.963665,
"side_flipped": false,
"applied": true,
"probability_after": 0.581822,
"aligned_pick_probability": 0.581822
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "STL 4 - 5 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "STL 4 - 5 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.0015,
"recent_form_edge_home_minus_away": -0.062,
"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": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "LAD",
"published_winner_draw_share": 1.0,
"draw_majority_team": "LAD",
"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.8594,
"winner": "LAD",
"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.53,
"home_win_probability": 0.53,
"away_win_probability": 0.47,
"predicted_score_text": "STL 4 - 5 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": "STL",
"original_runs": 4,
"run_delta": -0.4688,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.02754485972364509,
"contact": 0.00905440430804329,
"power": 0.42351333834102073,
"discipline": -0.26646057172939536,
"xwoba": 0.31193939393939396,
"recent_xwoba": 0.31193939393939396,
"barrel": 9.696969696969697,
"ab_hard_contact": -0.21578806723442034,
"ab_bat_speed": 71.69690844468228,
"ab_strikeout_rate": 0.21660370775019103,
"available_players": 8,
"top_players": [
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"weight": 5.0,
"quality": 0.829596566926223,
"contact": 0.8790841979119237,
"power": 1.3256594726207085,
"discipline": -0.4700899470899468,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 13.6,
"ab_hard_contact": 1.0537608809855978,
"ab_bat_speed": 78.12266165123457,
"ab_strikeout_rate": 0.2450462962962963,
"available": 1.0
},
{
"player_id": "686780",
"player_name": "Pedro Pagés",
"position": "C",
"weight": 3.0,
"quality": -0.5081088956633518,
"contact": -0.7913762409864132,
"power": -0.5938602979995817,
"discipline": -0.6565555555555556,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 4.6,
"ab_hard_contact": -0.44292024570592164,
"ab_bat_speed": 69.69375124007937,
"ab_strikeout_rate": 0.2699404761904762,
"available": 1.0
},
{
"player_id": "701675",
"player_name": "Nathan Church",
"position": "CF",
"weight": 4.0,
"quality": -0.47202442496241254,
"contact": -0.5314045320153251,
"power": -0.5273604204001698,
"discipline": -0.13579662698412673,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 6.099999999999999,
"ab_hard_contact": -1.023779836574826,
"ab_bat_speed": 67.58315470679013,
"ab_strikeout_rate": 0.19561011904761905,
"available": 1.0
},
{
"player_id": "665877",
"player_name": "José Fermín",
"position": "2B",
"weight": 3.0,
"quality": -0.32632466472710225,
"contact": -0.20599138329544525,
"power": -0.8006722215767297,
"discipline": 0.6821350640657868,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 2.4,
"ab_hard_contact": -0.5326825267726979,
"ab_bat_speed": 66.48716124661246,
"ab_strikeout_rate": 0.13032128514056224,
"available": 1.0
},
{
"player_id": "695491",
"player_name": "Joshua Baez",
"position": "LF",
"weight": 3.0,
"quality": 0.04723540707611579,
"contact": -0.037428703146277054,
"power": 1.5874895232952555,
"discipline": -1.2619007936507936,
"xwoba": 0.316,
"recent_xwoba": 0.316,
"barrel": 16.2,
"ab_hard_contact": 0.8905523706670166,
"ab_bat_speed": 78.04341666666667,
"ab_strikeout_rate": 0.22999999999999998,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669373",
"player_name": "Tarik Skubal",
"quality": 0.8012791880437626,
"contact": 0.9217600457214995,
"command": 0.8158849816849816,
"movement": 0.8147259359105885,
"xwoba": 0.267,
"whiff": 31.9,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "LAD",
"original_runs": 5,
"run_delta": 0.111,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.22127720157338482,
"contact": 0.24005380731525333,
"power": 0.05489264024244441,
"discipline": 0.2765084897830018,
"xwoba": 0.32521212121212123,
"recent_xwoba": 0.32521212121212123,
"barrel": 7.372727272727272,
"ab_hard_contact": -0.09442425142816835,
"ab_bat_speed": 68.83885446234498,
"ab_strikeout_rate": 0.18100846548395347,
"available_players": 9,
"top_players": [
{
"player_id": "669257",
"player_name": "Will Smith",
"position": "C",
"weight": 3.0,
"quality": 0.9891926505601724,
"contact": 1.1318346967565414,
"power": 1.1101665440131763,
"discipline": 0.7660821995464853,
"xwoba": 0.384,
"recent_xwoba": 0.384,
"barrel": 12.8,
"ab_hard_contact": 1.0854261183587637,
"ab_bat_speed": 69.09607142857143,
"ab_strikeout_rate": 0.18537414965986396,
"available": 1.0
},
{
"player_id": "669743",
"player_name": "Alex Call",
"position": "DH",
"weight": 3.0,
"quality": -0.722311681689015,
"contact": -1.0998415500850525,
"power": -1.5658166856179112,
"discipline": 0.7842063492063491,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 1.8,
"ab_hard_contact": -1.6458575218820344,
"ab_bat_speed": 64.96164646464646,
"ab_strikeout_rate": 0.17232142857142857,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 0.8691039589708426,
"contact": 1.1901982533051558,
"power": 0.725243780527338,
"discipline": 0.5989672781680979,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 8.4,
"ab_hard_contact": 0.43935180102294735,
"ab_bat_speed": 69.27750881472808,
"ab_strikeout_rate": 0.15827478532396566,
"available": 1.0
},
{
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"weight": 5.0,
"quality": 0.4718951001364934,
"contact": 0.6327993736935498,
"power": 0.26183798434394273,
"discipline": 0.6929844877344877,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 7.1,
"ab_hard_contact": 0.1154263535455219,
"ab_bat_speed": 68.06833400974027,
"ab_strikeout_rate": 0.11325757575757577,
"available": 1.0
},
{
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"weight": 4.0,
"quality": 0.17287026300933997,
"contact": 0.11943717380005685,
"power": 0.4846412204541451,
"discipline": -0.585728835978836,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 9.8,
"ab_hard_contact": 0.008633932892422987,
"ab_bat_speed": 71.046333994709,
"ab_strikeout_rate": 0.2816137566137566,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687273",
"player_name": "Quinn Mathews",
"quality": 0.05401573621631165,
"contact": 0.5880701314188015,
"command": -0.04782930402930399,
"movement": -0.2718031302713664,
"xwoba": 0.283,
"whiff": 27.3,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.8594,
"recent_form_edge_home_minus_away": -0.062,
"pitcher_matchup_edge_home_minus_away": 0.0015,
"composite_home_edge": 0.6405,
"existing_home_win_probability": 0.5818,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.6405
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.581822,
"uncapped_away_win_probability": 0.418178,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.581822,
"discount_factor": 0.7225,
"published_confidence": 0.53,
"guardrail_confidence_cap": 0.53,
"guardrail_cap_enforced": true,
"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": 4,
"home_runs": 5,
"predicted_score_text": "STL 4 - 5 LAD",
"confidence": 0.53,
"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": "STL 4 - 5 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "STL 4 - 5 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.0015,
"recent_form_edge_home_minus_away": -0.062,
"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": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 3,
"published_winner": "LAD",
"published_winner_draw_share": 1.0,
"draw_majority_team": "LAD",
"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.8594,
"winner": "LAD",
"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": "LAD",
"display_confidence": 0.53,
"internal_signal_score": 0.6137,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.53,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.8594,
"winner_recent_form_edge": 0.148,
"winner_pitcher_matchup_edge": 0.0015,
"winner_simulation_draw_rate": 1.0,
"blowout_draw_rate_margin_4_plus": 0.3333,
"high_total_draw_rate_11_plus": 0.6667,
"low_total_draw_rate_6_or_less": 0.3333,
"total_runs_spread": {
"min": 6,
"median": 11,
"max": 11,
"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 STL | True | 1.0119 | 1.0119 | 1 | 9 | 0 |
| Home LAD | True | 1.0306 | 1.0306 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | José Fermín | 439 | 0.9817 | -0.2435 | neutral | 0.2940 | 0.2490 | 0.3420 | 2.40 | 32.10 | 86.40 | 16.30 | 13.80 | 12.90 | 8.50 | -0.0286 |
| LF | Joshua Baez | 323 | 1.0211 | 0.2811 | negative_batter_regression | 0.3160 | 0.2050 | 0.4840 | 16.20 | 51.40 | 93.40 | 21.90 | 36.50 | 35.40 | 4.60 | -0.9429 |
| 1B | Leonardo Bernal | 397 | 1.0204 | 0.2723 | neutral | 0.3040 | 0.2210 | 0.5080 | 14.30 | 57.10 | 95.30 | 12.90 | 28.60 | 22.20 | 0 | -0.6571 |
| SS | Thomas Saggese | 442 | 1.0139 | 0.1853 | neutral | 0.3120 | 0.2310 | 0.4440 | 13.10 | 37.70 | 88.90 | 14.70 | 32.70 | 29.20 | 7.30 | 0.0857 |
| RF | Jordan Walker | 24 | 1.0824 | 1.0991 | neutral | 0.3530 | 0.2730 | 0.4850 | 13.60 | 48.60 | 92.50 | 12.60 | 31.20 | 24.70 | 7.40 | -0.3714 |
| DH | Iván Herrera | 73 | 1.0241 | 0.3215 | neutral | 0.3310 | 0.2480 | 0.3710 | 5.40 | 40.30 | 89.30 | 9.60 | 20.30 | 18.20 | 11.10 | 0.0286 |
| 3B | Ramón Urías | 301 | 1.0128 | 0.1702 | positive_batter_regression | 0.3160 | 0.1910 | 0.4030 | 11.50 | 39.30 | 89.70 | 19 | 24.10 | 17.80 | 10 | 0.8857 |
| CF | Nathan Church | 165 | 0.9798 | -0.2698 | neutral | 0.2850 | 0.2420 | 0.3610 | 6.10 | 30.30 | 86 | 13.40 | 20.70 | 17.90 | 5.40 | -0.0286 |
| C | Pedro Pagés | 513 | 0.9713 | -0.3822 | neutral | 0.2680 | 0.2170 | 0.3310 | 4.60 | 38.50 | 86.80 | 15.60 | 28 | 26.50 | 5.60 | 0.3714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Tommy Edman | 124 | 1.0037 | 0.0497 | neutral | 0.3170 | 0.2580 | 0.3670 | 6 | 34.70 | 88 | 13.10 | 21.20 | 20.20 | 6.20 | -0.4571 |
| C | Will Smith | 240 | 1.1125 | 1.5005 | positive_batter_regression | 0.3840 | 0.2750 | 0.4960 | 12.80 | 40.50 | 90.20 | 20 | 16.60 | 16.40 | 11.10 | 1.8857 |
| 1B | Freddie Freeman | 32 | 1.0974 | 1.2989 | neutral | 0.3770 | 0.3010 | 0.4880 | 8.40 | 42.10 | 89.70 | 12.80 | 21.90 | 16.40 | 11 | 0.1714 |
| LF | Teoscar Hernández | 460 | 1.0355 | 0.4734 | neutral | 0.3190 | 0.2480 | 0.4170 | 9.80 | 44.70 | 90 | 14 | 32.20 | 27.90 | 7.70 | 0.1714 |
| SS | Mookie Betts | 75 | 1.0510 | 0.6802 | neutral | 0.3290 | 0.2750 | 0.4250 | 7.10 | 37.40 | 90 | 18.40 | 11.90 | 11.30 | 7.60 | 0.4000 |
| 3B | Enrique Hernández | 470 | 0.9828 | -0.2290 | negative_batter_regression | 0.2680 | 0.2110 | 0.3530 | 10 | 36.70 | 88.90 | 14.70 | 31.40 | 34 | 6 | -0.8857 |
| DH | Alex Call | 276 | 0.9483 | -0.6892 | negative_batter_regression | 0.2780 | 0.2100 | 0.2670 | 1.80 | 17.10 | 83.80 | 14.10 | 17.30 | 17.70 | 11.60 | -1.0857 |
| 2B | Miguel Rojas | 255 | 1.0179 | 0.2392 | neutral | 0.3150 | 0.2860 | 0.3940 | 5.20 | 36.40 | 86.90 | 14.90 | 16.30 | 10.50 | 6.20 | 0 |
| RF | Kyle Tucker | 543 | 1.0264 | 0.3522 | neutral | 0.3250 | 0.2530 | 0.3750 | 5.40 | 36.70 | 88.60 | 17.30 | 22 | 17.70 | 12.50 | 0.5429 |
{
"home": {
"applied": true,
"offense_factor": 1.0306,
"raw_average_factor": 1.0306,
"team_espn_average_rank": 275.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 1.0037,
"quality_score": 0.0497,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669242",
"espn_id": 39907,
"player_name": "Tommy Edman",
"team": "LAD",
"role": "batter",
"espn_rank": 124,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 124,
"gp_value": 62.0,
"gp_rank": "348",
"ab_value": 214.0,
"ab_rank": "291",
"r_value": 33.0,
"r_rank": "243",
"h_value": 57.0,
"h_rank": "262",
"avg_value": 0.2663551,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 29.0,
"rbi_rank": "264",
"tb_value": 85.0,
"tb_rank": "1578",
"bb_value": 15.0,
"bb_rank": "331",
"so_value": 49.0,
"so_rank": "300",
"sb_value": 5.0,
"sb_rank": "172",
"obp_value": 0.3458333,
"obp_rank": "-",
"slg_value": 0.3971962,
"slg_rank": "-",
"ops_value": 0.7430295,
"ops_rank": null,
"war_value": 1.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 20.2,
"bb_percent": 6.2,
"woba": 0.333,
"xwoba": 0.317,
"xba": 0.258,
"xslg": 0.367,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 34.7,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 13.1,
"whiff_percent": 21.2,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.1424,
"regression_edge": -0.4571,
"xwoba_edge": 0.4571,
"xba_edge": 0.6286,
"xslg_edge": 0.0,
"barrel_edge": -0.1444,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.3583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669257",
"player_name": "Will Smith",
"offense_factor": 1.1125,
"quality_score": 1.5005,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669257",
"espn_id": 38309,
"player_name": "Will Smith",
"team": "LAD",
"role": "batter",
"espn_rank": 240,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 240,
"gp_value": 54.0,
"gp_rank": "374",
"ab_value": 179.0,
"ab_rank": "332",
"r_value": 25.0,
"r_rank": "299",
"h_value": 44.0,
"h_rank": "316",
"avg_value": 0.24581,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": "351",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 25.0,
"rbi_rank": "290",
"tb_value": 68.0,
"tb_rank": "2059",
"bb_value": 23.0,
"bb_rank": "244",
"so_value": 34.0,
"so_rank": "380",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.3798882,
"slg_rank": "-",
"ops_value": 0.7132215,
"ops_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 16.4,
"bb_percent": 11.1,
"woba": 0.318,
"xwoba": 0.384,
"xba": 0.275,
"xslg": 0.496,
"sweet_spot_percent": 42.6,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 20.0,
"whiff_percent": 16.6,
"swing_percent": 41.8
},
"components": {
"expected_quality": 1.6615,
"regression_edge": 1.8857,
"xwoba_edge": 2.3714,
"xba_edge": 1.1143,
"xslg_edge": 1.8429,
"barrel_edge": 1.3667,
"hard_hit_edge": 0.4,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.5583,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0974,
"quality_score": 1.2989,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 32,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 32,
"gp_value": 135.0,
"gp_rank": "36",
"ab_value": 507.0,
"ab_rank": "38",
"r_value": 70.0,
"r_rank": "52",
"h_value": 155.0,
"h_rank": "5",
"avg_value": 0.3057199,
"avg_rank": 5.0,
"2b_value": 32.0,
"2b_rank": "5",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 16.0,
"hr_rank": "98",
"rbi_value": 66.0,
"rbi_rank": "61",
"tb_value": 237.0,
"tb_rank": "560",
"bb_value": 64.0,
"bb_rank": "33",
"so_value": 95.0,
"so_rank": "119",
"sb_value": 6.0,
"sb_rank": "151",
"obp_value": 0.3827586,
"obp_rank": "8",
"slg_value": 0.4674556,
"slg_rank": "39",
"ops_value": 0.8502142,
"ops_rank": 16.0,
"war_value": 3.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 521.0,
"k_percent": 16.4,
"bb_percent": 11.0,
"woba": 0.371,
"xwoba": 0.377,
"xba": 0.301,
"xslg": 0.488,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 12.8,
"whiff_percent": 21.9,
"swing_percent": 50.4
},
"components": {
"expected_quality": 1.4825,
"regression_edge": 0.1714,
"xwoba_edge": 2.1714,
"xba_edge": 1.8571,
"xslg_edge": 1.7286,
"barrel_edge": 0.3889,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.075,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0355,
"quality_score": 0.4734,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 460,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 460,
"gp_value": 103.0,
"gp_rank": "183",
"ab_value": 364.0,
"ab_rank": "158",
"r_value": 53.0,
"r_rank": "132",
"h_value": 92.0,
"h_rank": "144",
"avg_value": 0.2527472,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": "189",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 12.0,
"hr_rank": "148",
"rbi_value": 46.0,
"rbi_rank": "158",
"tb_value": 145.0,
"tb_rank": "1043",
"bb_value": 31.0,
"bb_rank": "190",
"so_value": 112.0,
"so_rank": "77",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3142144,
"obp_rank": "-",
"slg_value": 0.3983516,
"slg_rank": "-",
"ops_value": 0.712566,
"ops_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 351.0,
"k_percent": 27.9,
"bb_percent": 7.7,
"woba": 0.313,
"xwoba": 0.319,
"xba": 0.248,
"xslg": 0.417,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 14.0,
"whiff_percent": 32.2,
"swing_percent": 48.0
},
"components": {
"expected_quality": 0.5226,
"regression_edge": 0.1714,
"xwoba_edge": 0.5143,
"xba_edge": 0.3429,
"xslg_edge": 0.7143,
"barrel_edge": 0.7,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.175,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.051,
"quality_score": 0.6802,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 75,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 75,
"gp_value": 102.0,
"gp_rank": "187",
"ab_value": 398.0,
"ab_rank": "125",
"r_value": 53.0,
"r_rank": "132",
"h_value": 97.0,
"h_rank": "133",
"avg_value": 0.2437185,
"avg_rank": 93.0,
"2b_value": 19.0,
"2b_rank": "125",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 53.0,
"rbi_rank": "117",
"tb_value": 167.0,
"tb_rank": "1080",
"bb_value": 33.0,
"bb_rank": "175",
"so_value": 49.0,
"so_rank": "300",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3041474,
"obp_rank": "118",
"slg_value": 0.4195979,
"slg_rank": "72",
"ops_value": 0.7237453,
"ops_rank": 94.0,
"war_value": 2.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 374.0,
"k_percent": 11.3,
"bb_percent": 7.6,
"woba": 0.315,
"xwoba": 0.329,
"xba": 0.275,
"xslg": 0.425,
"sweet_spot_percent": 40.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 18.4,
"whiff_percent": 11.9,
"swing_percent": 41.8
},
"components": {
"expected_quality": 0.7258,
"regression_edge": 0.4,
"xwoba_edge": 0.8,
"xba_edge": 1.1143,
"xslg_edge": 0.8286,
"barrel_edge": 0.1,
"hard_hit_edge": -0.0429,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 1.175,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "571771",
"player_name": "Enrique Hernández",
"offense_factor": 0.9828,
"quality_score": -0.229,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "571771",
"espn_id": 31358,
"player_name": "Enrique Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 470,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 470,
"gp_value": 24.0,
"gp_rank": "490",
"ab_value": 47.0,
"ab_rank": "514",
"r_value": 7.0,
"r_rank": "475",
"h_value": 11.0,
"h_rank": "496",
"avg_value": 0.2340425,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 5.0,
"rbi_rank": "502",
"tb_value": 19.0,
"tb_rank": "2785",
"bb_value": 3.0,
"bb_rank": "504",
"so_value": 17.0,
"so_rank": "493",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.28,
"obp_rank": "-",
"slg_value": 0.4042553,
"slg_rank": "-",
"ops_value": 0.6842553,
"ops_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 33.0,
"k_percent": 34.0,
"bb_percent": 6.0,
"woba": 0.299,
"xwoba": 0.268,
"xba": 0.211,
"xslg": 0.353,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 14.7,
"whiff_percent": 31.4,
"swing_percent": 58.3
},
"components": {
"expected_quality": -0.4475,
"regression_edge": -0.8857,
"xwoba_edge": -0.9429,
"xba_edge": -0.7143,
"xslg_edge": -0.2,
"barrel_edge": 0.7444,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -1.0917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "669743",
"player_name": "Alex Call",
"offense_factor": 0.9483,
"quality_score": -0.6892,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669743",
"espn_id": 38994,
"player_name": "Alex Call",
"team": "LAD",
"role": "batter",
"espn_rank": 276,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 276,
"gp_value": 73.0,
"gp_rank": "310",
"ab_value": 138.0,
"ab_rank": "375",
"r_value": 21.0,
"r_rank": "335",
"h_value": 35.0,
"h_rank": "366",
"avg_value": 0.2536231,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 18.0,
"rbi_rank": "346",
"tb_value": 45.0,
"tb_rank": "2637",
"bb_value": 19.0,
"bb_rank": "288",
"so_value": 29.0,
"so_rank": "416",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.359756,
"obp_rank": "-",
"slg_value": 0.3260869,
"slg_rank": "-",
"ops_value": 0.6858429,
"ops_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 17.7,
"bb_percent": 11.6,
"woba": 0.316,
"xwoba": 0.278,
"xba": 0.21,
"xslg": 0.267,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 17.1,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 14.1,
"whiff_percent": 17.3,
"swing_percent": 42.8
},
"components": {
"expected_quality": -1.0065,
"regression_edge": -1.0857,
"xwoba_edge": -0.6571,
"xba_edge": -0.7429,
"xslg_edge": -1.4286,
"barrel_edge": -1.0778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": -1.1917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "500743",
"player_name": "Miguel Rojas",
"offense_factor": 1.0179,
"quality_score": 0.2392,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "500743",
"espn_id": 30791,
"player_name": "Miguel Rojas",
"team": "LAD",
"role": "batter",
"espn_rank": 255,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 255,
"gp_value": 87.0,
"gp_rank": "252",
"ab_value": 186.0,
"ab_rank": "322",
"r_value": 20.0,
"r_rank": "343",
"h_value": 52.0,
"h_rank": "280",
"avg_value": 0.2795698,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 3.0,
"hr_rank": "363",
"rbi_value": 20.0,
"rbi_rank": "335",
"tb_value": 75.0,
"tb_rank": "2147",
"bb_value": 13.0,
"bb_rank": "350",
"so_value": 22.0,
"so_rank": "457",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3221153,
"obp_rank": "-",
"slg_value": 0.4032258,
"slg_rank": "-",
"ops_value": 0.7253411,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 191.0,
"k_percent": 10.5,
"bb_percent": 6.2,
"woba": 0.315,
"xwoba": 0.315,
"xba": 0.286,
"xslg": 0.394,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 14.9,
"whiff_percent": 16.3,
"swing_percent": 48.6
},
"components": {
"expected_quality": 0.3204,
"regression_edge": 0.0,
"xwoba_edge": 0.4,
"xba_edge": 1.4286,
"xslg_edge": 0.3857,
"barrel_edge": -0.3222,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.425,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0264,
"quality_score": 0.3522,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 543,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 543,
"gp_value": 131.0,
"gp_rank": "69",
"ab_value": 463.0,
"ab_rank": "84",
"r_value": 71.0,
"r_rank": "50",
"h_value": 105.0,
"h_rank": "111",
"avg_value": 0.2267818,
"avg_rank": 120.0,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 11.0,
"hr_rank": "158",
"rbi_value": 58.0,
"rbi_rank": "94",
"tb_value": 164.0,
"tb_rank": "762",
"bb_value": 67.0,
"bb_rank": "27",
"so_value": 95.0,
"so_rank": "119",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3252788,
"obp_rank": "85",
"slg_value": 0.3542116,
"slg_rank": "135",
"ops_value": 0.6794904,
"ops_rank": 125.0,
"war_value": -0.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 480.0,
"k_percent": 17.7,
"bb_percent": 12.5,
"woba": 0.306,
"xwoba": 0.325,
"xba": 0.253,
"xslg": 0.375,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 17.3,
"whiff_percent": 22.0,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.3212,
"regression_edge": 0.5429,
"xwoba_edge": 0.6857,
"xba_edge": 0.4857,
"xslg_edge": 0.1143,
"barrel_edge": -0.2778,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.125,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0119,
"raw_average_factor": 1.0119,
"team_espn_average_rank": 297.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "665877",
"player_name": "José Fermín",
"offense_factor": 0.9817,
"quality_score": -0.2435,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665877",
"espn_id": 38851,
"player_name": "Jose Fermin",
"team": "STL",
"role": "batter",
"espn_rank": 439,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 439,
"gp_value": 101.0,
"gp_rank": "191",
"ab_value": 282.0,
"ab_rank": "231",
"r_value": 26.0,
"r_rank": "291",
"h_value": 68.0,
"h_rank": "226",
"avg_value": 0.2411347,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 35.0,
"rbi_rank": "225",
"tb_value": 100.0,
"tb_rank": "1820",
"bb_value": 27.0,
"bb_rank": "210",
"so_value": 41.0,
"so_rank": "340",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3067092,
"obp_rank": "-",
"slg_value": 0.3546099,
"slg_rank": "-",
"ops_value": 0.6613191,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 264.0,
"k_percent": 12.9,
"bb_percent": 8.5,
"woba": 0.295,
"xwoba": 0.294,
"xba": 0.249,
"xslg": 0.342,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 16.3,
"whiff_percent": 13.8,
"swing_percent": 39.4
},
"components": {
"expected_quality": -0.2785,
"regression_edge": -0.0286,
"xwoba_edge": -0.2,
"xba_edge": 0.3714,
"xslg_edge": -0.3571,
"barrel_edge": -0.9444,
"hard_hit_edge": -0.8,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.0583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "695491",
"player_name": "Joshua Baez",
"offense_factor": 1.0211,
"quality_score": 0.2811,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695491",
"espn_id": 4920835,
"player_name": "Joshua Baez",
"team": "STL",
"role": "batter",
"espn_rank": 323,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 323,
"gp_value": 18.0,
"gp_rank": "517",
"ab_value": 59.0,
"ab_rank": "488",
"r_value": 10.0,
"r_rank": "444",
"h_value": 12.0,
"h_rank": "482",
"avg_value": 0.2033898,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": "402",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 13.0,
"rbi_rank": "383",
"tb_value": 34.0,
"tb_rank": "2276",
"bb_value": 3.0,
"bb_rank": "504",
"so_value": 23.0,
"so_rank": "449",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.2615384,
"obp_rank": "-",
"slg_value": 0.5762711,
"slg_rank": "-",
"ops_value": 0.8378095,
"ops_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 35.4,
"bb_percent": 4.6,
"woba": 0.349,
"xwoba": 0.316,
"xba": 0.205,
"xslg": 0.484,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 16.2,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 21.9,
"whiff_percent": 36.5,
"swing_percent": 55.5
},
"components": {
"expected_quality": 0.8799,
"regression_edge": -0.9429,
"xwoba_edge": 0.4286,
"xba_edge": -0.8857,
"xslg_edge": 1.6714,
"barrel_edge": 2.1222,
"hard_hit_edge": 1.9571,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.7583,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "699024",
"player_name": "Leonardo Bernal",
"offense_factor": 1.0204,
"quality_score": 0.2723,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699024",
"espn_id": 5124076,
"player_name": "Leo Bernal",
"team": "STL",
"role": "batter",
"espn_rank": 397,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 397,
"gp_value": 2.0,
"gp_rank": "633",
"ab_value": 9.0,
"ab_rank": "608",
"r_value": 2.0,
"r_rank": "554",
"h_value": 2.0,
"h_rank": "585",
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": "572",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 4.0,
"rbi_rank": "517",
"tb_value": 5.0,
"tb_rank": "3104",
"bb_value": 0.0,
"bb_rank": "603",
"so_value": 2.0,
"so_rank": "615",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2222222,
"obp_rank": "-",
"slg_value": 0.5555555,
"slg_rank": "-",
"ops_value": 0.7777777,
"ops_rank": null,
"war_value": 0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 22.2,
"bb_percent": 0.0,
"woba": 0.327,
"xwoba": 0.304,
"xba": 0.221,
"xslg": 0.508,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 95.3,
"launch_angle_avg": 12.9,
"whiff_percent": 28.6,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.8107,
"regression_edge": -0.6571,
"xwoba_edge": 0.0857,
"xba_edge": -0.4286,
"xslg_edge": 2.0143,
"barrel_edge": 1.7,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": -0.775,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "695336",
"player_name": "Thomas Saggese",
"offense_factor": 1.0139,
"quality_score": 0.1853,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695336",
"espn_id": 4999876,
"player_name": "Thomas Saggese",
"team": "STL",
"role": "batter",
"espn_rank": 442,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 442,
"gp_value": 36.0,
"gp_rank": "435",
"ab_value": 88.0,
"ab_rank": "437",
"r_value": 16.0,
"r_rank": "379",
"h_value": 21.0,
"h_rank": "426",
"avg_value": 0.2386363,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": "474",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 10.0,
"rbi_rank": "425",
"tb_value": 37.0,
"tb_rank": "2147",
"bb_value": 7.0,
"bb_rank": "431",
"so_value": 28.0,
"so_rank": "421",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.2916666,
"obp_rank": "-",
"slg_value": 0.4204545,
"slg_rank": "-",
"ops_value": 0.7121211,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 81.0,
"k_percent": 29.2,
"bb_percent": 7.3,
"woba": 0.309,
"xwoba": 0.312,
"xba": 0.231,
"xslg": 0.444,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 14.7,
"whiff_percent": 32.7,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.4648,
"regression_edge": 0.0857,
"xwoba_edge": 0.3143,
"xba_edge": -0.1429,
"xslg_edge": 1.1,
"barrel_edge": 1.4333,
"hard_hit_edge": 0.0,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.475,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.0824,
"quality_score": 1.0991,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 24,
"gp_value": 136.0,
"gp_rank": "28",
"ab_value": 532.0,
"ab_rank": "14",
"r_value": 89.0,
"r_rank": "7",
"h_value": 153.0,
"h_rank": "7",
"avg_value": 0.2875939,
"avg_rank": 13.0,
"2b_value": 31.0,
"2b_rank": "9",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 28.0,
"hr_rank": "18",
"rbi_value": 99.0,
"rbi_rank": "3",
"tb_value": 268.0,
"tb_rank": "646",
"bb_value": 43.0,
"bb_rank": "98",
"so_value": 144.0,
"so_rank": "22",
"sb_value": 18.0,
"sb_rank": "35",
"obp_value": 0.3436426,
"obp_rank": "52",
"slg_value": 0.5037593,
"slg_rank": "13",
"ops_value": 0.8474019,
"ops_rank": 17.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 524.0,
"k_percent": 24.7,
"bb_percent": 7.4,
"woba": 0.366,
"xwoba": 0.353,
"xba": 0.273,
"xslg": 0.485,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 12.6,
"whiff_percent": 31.2,
"swing_percent": 52.3
},
"components": {
"expected_quality": 1.3384,
"regression_edge": -0.3714,
"xwoba_edge": 1.4857,
"xba_edge": 1.0571,
"xslg_edge": 1.6857,
"barrel_edge": 1.5444,
"hard_hit_edge": 1.5571,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": 0.2083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0241,
"quality_score": 0.3215,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 73,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 73,
"gp_value": 139.0,
"gp_rank": "10",
"ab_value": 522.0,
"ab_rank": "25",
"r_value": 84.0,
"r_rank": "19",
"h_value": 127.0,
"h_rank": "55",
"avg_value": 0.243295,
"avg_rank": 96.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 56.0,
"rbi_rank": "103",
"tb_value": 195.0,
"tb_rank": "727",
"bb_value": 69.0,
"bb_rank": "20",
"so_value": 113.0,
"so_rank": "74",
"sb_value": 8.0,
"sb_rank": "117",
"obp_value": 0.3585209,
"obp_rank": "32",
"slg_value": 0.3735632,
"slg_rank": "119",
"ops_value": 0.7320841,
"ops_rank": 88.0,
"war_value": 2.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 553.0,
"k_percent": 18.2,
"bb_percent": 11.1,
"woba": 0.33,
"xwoba": 0.331,
"xba": 0.248,
"xslg": 0.371,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 9.6,
"whiff_percent": 20.3,
"swing_percent": 44.2
},
"components": {
"expected_quality": 0.3691,
"regression_edge": 0.0286,
"xwoba_edge": 0.8571,
"xba_edge": 0.3429,
"xslg_edge": 0.0571,
"barrel_edge": -0.2778,
"hard_hit_edge": 0.3714,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "602104",
"player_name": "Ramón Urías",
"offense_factor": 1.0128,
"quality_score": 0.1702,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "602104",
"espn_id": 40610,
"player_name": "Ramon Urias",
"team": "STL",
"role": "batter",
"espn_rank": 301,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 301,
"gp_value": 34.0,
"gp_rank": "442",
"ab_value": 76.0,
"ab_rank": "460",
"r_value": 14.0,
"r_rank": "394",
"h_value": 12.0,
"h_rank": "482",
"avg_value": 0.1578947,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": "439",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 8.0,
"rbi_rank": "451",
"tb_value": 27.0,
"tb_rank": "2478",
"bb_value": 9.0,
"bb_rank": "401",
"so_value": 16.0,
"so_rank": "498",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2777777,
"obp_rank": "-",
"slg_value": 0.3552631,
"slg_rank": "-",
"ops_value": 0.6330408,
"ops_rank": null,
"war_value": 0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 65.0,
"k_percent": 17.8,
"bb_percent": 10.0,
"woba": 0.285,
"xwoba": 0.316,
"xba": 0.191,
"xslg": 0.403,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 39.3,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 19.0,
"whiff_percent": 24.1,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.2957,
"regression_edge": 0.8857,
"xwoba_edge": 0.4286,
"xba_edge": -1.2857,
"xslg_edge": 0.5143,
"barrel_edge": 1.0778,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.625,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9798,
"quality_score": -0.2698,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 165,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 165,
"gp_value": 120.0,
"gp_rank": "128",
"ab_value": 360.0,
"ab_rank": "161",
"r_value": 46.0,
"r_rank": "164",
"h_value": 87.0,
"h_rank": "162",
"avg_value": 0.2416666,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 47.0,
"rbi_rank": "153",
"tb_value": 132.0,
"tb_rank": "1063",
"bb_value": 21.0,
"bb_rank": "266",
"so_value": 70.0,
"so_rank": "215",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.2846153,
"obp_rank": "-",
"slg_value": 0.3666666,
"slg_rank": "-",
"ops_value": 0.6512819,
"ops_rank": null,
"war_value": 1.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 345.0,
"k_percent": 17.9,
"bb_percent": 5.4,
"woba": 0.286,
"xwoba": 0.285,
"xba": 0.242,
"xslg": 0.361,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 13.4,
"whiff_percent": 20.7,
"swing_percent": 56.4
},
"components": {
"expected_quality": -0.3091,
"regression_edge": -0.0286,
"xwoba_edge": -0.4571,
"xba_edge": 0.1714,
"xslg_edge": -0.0857,
"barrel_edge": -0.1222,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "686780",
"player_name": "Pedro Pagés",
"offense_factor": 0.9713,
"quality_score": -0.3822,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686780",
"espn_id": 42608,
"player_name": "Pedro Pages",
"team": "STL",
"role": "batter",
"espn_rank": 513,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 513,
"gp_value": 74.0,
"gp_rank": "306",
"ab_value": 177.0,
"ab_rank": "333",
"r_value": 13.0,
"r_rank": "408",
"h_value": 37.0,
"h_rank": "348",
"avg_value": 0.2090395,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": "351",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 11.0,
"rbi_rank": "407",
"tb_value": 55.0,
"tb_rank": "2256",
"bb_value": 11.0,
"bb_rank": "370",
"so_value": 52.0,
"so_rank": "285",
"sb_value": 2.0,
"sb_rank": "273",
"obp_value": 0.2604166,
"obp_rank": "-",
"slg_value": 0.3107344,
"slg_rank": "-",
"ops_value": 0.571151,
"ops_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 177.0,
"k_percent": 26.5,
"bb_percent": 5.6,
"woba": 0.255,
"xwoba": 0.268,
"xba": 0.217,
"xslg": 0.331,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 15.6,
"whiff_percent": 28.0,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.6129,
"regression_edge": 0.3714,
"xwoba_edge": -0.9429,
"xba_edge": -0.5429,
"xslg_edge": -0.5143,
"barrel_edge": -0.4556,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.4583,
"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 STL | True | 512 | 0.1880 | 0.4500 | 0.9840 | 1.0069 | 0.9991 | 0.9328 | positive_pitcher_regression | 0.2830 | 0.3270 | 22.50 | 9 | 27.30 | 1.70 | 33.30 | |
| Home LAD | True | 19 | 0.7539 | 1 | 0.9359 | 1.0897 | 0.9020 | 0.9579 | neutral | 0.2670 | 0.2640 | 30.90 | 4.20 | 31.90 | 7.60 | 36.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away STL | True | None | 96 | 87.90 | 2078 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1103 | |
| Home LAD | True | None | 95 | 92.57 | 2164 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1516 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9619 |
| home_runs_vs_away_pitcher | 0.9961 |
| home_pitcher_starter_only_factor | 0.9359 |
| away_pitcher_starter_only_factor | 0.9928 |
| home_pitcher_workload_share | 0.6667 |
| away_pitcher_workload_share | 0.5556 |
| home_pitcher_quality_edge | 0.3982 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669373",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 444.0,
"k_percent": 30.9,
"bb_percent": 4.2,
"woba": 0.264,
"xwoba": 0.267,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 36.1,
"avg_best_speed": 75.2343,
"avg_hyper_speed": 93.5847,
"whiff_percent": 31.9,
"swing_percent": 53.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.802,
"command_and_miss": 1.1586,
"regression_edge": -0.0857,
"xwoba_edge": 1.2571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.9571,
"bb_edge": 1.225,
"pitch_design_score": 0.1516
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5748,
"release_spin_rate": 2164.2998,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0827,
"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.7539,
"sample_weight": 1.0,
"run_prevention_factor": 0.9359,
"strikeout_factor": 1.0897,
"walk_factor": 0.902,
"homer_factor": 0.9579,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669373",
"espn_id": 42409,
"player_name": "Tarik Skubal",
"team": "LAD",
"role": "pitcher",
"espn_rank": 19,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 19,
"gp_value": 21.0,
"gp_rank": 363,
"gs_value": 21.0,
"gs_rank": 89,
"qs_value": 13.0,
"qs_rank": 24,
"era_value": 2.8421,
"era_rank": null,
"w_value": 8.0,
"w_rank": 58,
"l_value": 7.0,
"l_rank": 79,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 126.2,
"ip_rank": 79,
"h_value": 98.0,
"h_rank": 112,
"er_value": 40.0,
"er_rank": 141,
"hr_value": 12.0,
"hr_rank": 126,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 153.0,
"k_rank": 24,
"k_per_9_value": 10.871053,
"k_per_9_rank": 8,
"whip_value": 0.9394,
"whip_rank": null,
"war_value": 3.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "687273",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 22.5,
"bb_percent": 9.0,
"woba": 0.327,
"xwoba": 0.283,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 33.3,
"avg_best_speed": 78.2096,
"avg_hyper_speed": 93.315,
"whiff_percent": 27.3,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4683,
"command_and_miss": 0.1486,
"regression_edge": 1.2571,
"xwoba_edge": 0.8,
"barrel_edge": 1.2444,
"hard_hit_edge": 0.6429,
"whiff_edge": 0.3,
"bb_edge": 0.025,
"pitch_design_score": -0.1103
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687273",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8989,
"release_spin_rate": 2078.2117,
"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.1103,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7877,
"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.188,
"sample_weight": 0.45,
"run_prevention_factor": 0.984,
"strikeout_factor": 1.0069,
"walk_factor": 0.9991,
"homer_factor": 0.9328,
"woba_minus_xwoba": 0.044,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687273",
"espn_id": 4837405,
"player_name": "Quinn Mathews",
"team": "STL",
"role": "pitcher",
"espn_rank": 512,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 512,
"gp_value": 4.0,
"gp_rank": 653,
"gs_value": 4.0,
"gs_rank": 230,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 5.0338,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 19.2,
"ip_rank": 508,
"h_value": 23.0,
"h_rank": 470,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 8.0,
"bb_rank": 516,
"k_value": 20.0,
"k_rank": 476,
"k_per_9_value": 9.152542,
"k_per_9_rank": 25,
"whip_value": 1.5762,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9619,
"home_runs_vs_away_pitcher": 0.9961,
"home_pitcher_starter_only_factor": 0.9359,
"away_pitcher_starter_only_factor": 0.9928,
"home_pitcher_workload_share": 0.6667,
"away_pitcher_workload_share": 0.5556,
"home_pitcher_quality_edge": 0.3982
},
"score_before": {
"away_runs": 4.0,
"home_runs": 5.0
},
"score_after": {
"away_runs": 3.8478,
"home_runs": 4.9807,
"home_win_probability": 0.6035
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away STL | 4-6 | 0.400 | 5.30 | 7 | -17 | 2W | hot | weak |
| Home LAD | 4-6 | 0.400 | 3.90 | 3.90 | 0 | 2L | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away STL | 70-70 | 0.500 | -8 | -0.057 | True |
| Home LAD | 82-57 | 0.590 | 146 | 1.050 | True |
| Signal | - | - | 1.107 | 0.859 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | STL @ LAD | 8 - 6 | STL | 2 | close |
| 2026-09-01 | STL @ LAD | 13 - 8 | STL | 5 | blowout |
| 2026-05-03 | LAD @ STL | 4 - 1 | LAD | 3 | blowout |
| 2026-05-02 | LAD @ STL | 2 - 3 | STL | 1 | close |
| 2026-05-01 | LAD @ STL | 2 - 7 | STL | 5 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target STL | - | - | 4 | - | - | - | - |
| Game target LAD | - | - | 5 | - | - | - | - |
| Player finalized STL | 33 | 7 | 5 | 1 | 5 | 2 | 8 |
| Player finalized LAD | 33 | 8 | 4 | 1 | 5 | 3 | 7 |
| Player model fractional STL | 32.37 | 7.22 | 4.55 | 1.51 | 5.04 | 2.18 | 7.64 |
| Player model fractional LAD | 30.77 | 7.81 | 4.23 | 0.95 | 4.25 | 3.08 | 6.17 |
| Simulation box STL | 37 | 7 | 4 | 2 | 4 | 3 | 11 |
| Simulation box LAD | 37 | 8 | 5 | 0 | 5 | 4 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away STL | Starter | Quinn Mathews | 4.20 | 3 | 3 | 6 | 1 | 4.73 | 1.45 | True |
| Away STL | Middle Reliever (High Leverage) | Justin Bruihl | 1 | 1 | 0 | 1 | 0 | 3.49 | 1.27 | True |
| Away STL | Closer | Riley O'Brien | 1.20 | 0 | 2 | 0 | 2 | 8.51 | 1.84 | True |
| Away STL | Middle Reliever (High Leverage) | Ryne Stanek | 0.20 | 0 | 2 | 0 | 1 | 2.69 | 1.04 | True |
| Away STL | Setup Man | George Soriano | 0 | 0 | 0 | 0 | 0 | 8.37 | 1.83 | True |
| Away STL | Reliever | Cade Winquest | 0 | 1 | 2 | 1 | 0 | 4.32 | 1.34 | - |
| Home LAD | Starter | Tarik Skubal | 6 | 0 | 7 | 3 | 0 | 3.12 | 1.06 | True |
| Home LAD | Middle Reliever (High Leverage) | Brock Stewart | 1.20 | 4 | 1 | 4 | 3 | 3.96 | 1.40 | True |
| Home LAD | Setup Man | Edgardo Henriquez | 1 | 0 | 2 | 0 | 0 | 2.00 | 0.69 | True |
| Home LAD | Closer | Tanner Scott | 0.10 | 0 | 1 | 0 | 0 | 4.47 | 1.20 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAD | batter | 2B | Miguel Rojas | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 2.5000 | boost | better |
| home | LAD | batter | C | Will Smith | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 2.3460 | boost | worse |
| away | STL | batter | DH | Iván Herrera | worse | 9 | 5 | 4 | 4 | 5 | predicted_SO | 2.1690 | boost | worse |
| away | STL | pitcher | Reliever | Cade Winquest | boosted | 4 | 4 | 0 | 2 | 2 | predicted_SO | 2.0000 | boost | better |
| home | LAD | batter | DH | Alex Call | better | 10 | 8 | 2 | 7 | 3 | predicted_AB | 1.5000 | boost | better |
| away | STL | batter | 2B | José Fermín | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.2920 | boost | better |
| away | STL | batter | C | Pedro Pagés | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 1.1360 | boost | worse |
| away | STL | batter | SS | Thomas Saggese | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.0670 | boost | better |
| away | STL | batter | 1B | Leonardo Bernal | worse | 7 | 2 | 5 | 3 | 4 | predicted_2B | 1.0000 | boost | better |
| home | LAD | batter | SS | Mookie Betts | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 1.0000 | boost | better |
| home | LAD | pitcher | Starter | Tarik Skubal | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| away | STL | batter | RF | Jordan Walker | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 0.9400 | boost | worse |
| away | STL | batter | CF | Nathan Church | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9400 | deboost | worse |
| home | LAD | batter | LF | Teoscar Hernández | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 0.9110 | boost | worse |
| away | STL | batter | 3B | Ramón Urías | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 0.8500 | boost | better |
| home | LAD | batter | 3B | Enrique Hernández | worse | 10 | 5 | 5 | 4 | 6 | predicted_BB | 0.8400 | boost | better |
| home | LAD | batter | RF | Kyle Tucker | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -0.8400 | deboost | worse |
| home | LAD | batter | CF | Tommy Edman | worse | 9 | 3 | 6 | 4 | 5 | predicted_SO | -0.8280 | deboost | better |
| away | STL | batter | LF | Joshua Baez | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | 0.8240 | boost | better |
| away | STL | pitcher | Starter | Quinn Mathews | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.8000 | deboost | worse |
| home | LAD | batter | 1B | Freddie Freeman | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.6940 | deboost | better |
| away | STL | pitcher | Closer | Riley O'Brien | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | LAD | pitcher | Middle Reliever (High Leverage) | Brock Stewart | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | STL | pitcher | Middle Reliever (High Leverage) | Ryne Stanek | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | STL | pitcher | Setup Man | George Soriano | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | LAD | pitcher | Closer | Tanner Scott | 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 | Quinn Mathews |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1880 |
| ESPN Rank | 512 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1103 |
| Avg Velo | 87.8989 |
| Avg Spin | 2078.2117 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 5.0339 |
| Season WHIP | 1.5763 |
| Role Avg IP | 4.9170 |
| Recent Avg IP | 4.9170 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"opponent": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"edges": {
"quality_edge": -0.2119,
"offense_edge": 0.0027,
"opponent_offense_edge": 0.0948,
"defense_strength": -0.0152,
"opponent_defense_weakness": -0.1613,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9873,
"run_prevention": 1.0273,
"strikeout": 0.9861
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687273",
"profile": {
"available": true,
"pitcher_id": "687273",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 22.5,
"bb_percent": 9.0,
"woba": 0.327,
"xwoba": 0.283,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 33.3,
"avg_best_speed": 78.2096,
"avg_hyper_speed": 93.315,
"whiff_percent": 27.3,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4683,
"command_and_miss": 0.1486,
"regression_edge": 1.2571,
"xwoba_edge": 0.8,
"barrel_edge": 1.2444,
"hard_hit_edge": 0.6429,
"whiff_edge": 0.3,
"bb_edge": 0.025,
"pitch_design_score": -0.1103
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687273",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8989,
"release_spin_rate": 2078.2117,
"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.1103,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7877,
"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.188,
"sample_weight": 0.45,
"run_prevention_factor": 0.984,
"strikeout_factor": 1.0069,
"walk_factor": 0.9991,
"homer_factor": 0.9328,
"woba_minus_xwoba": 0.044,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687273",
"espn_id": 4837405,
"player_name": "Quinn Mathews",
"team": "STL",
"role": "pitcher",
"espn_rank": 512,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 512,
"gp_value": 4.0,
"gp_rank": 653,
"gs_value": 4.0,
"gs_rank": 230,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 5.0338,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 19.2,
"ip_rank": 508,
"h_value": 23.0,
"h_rank": 470,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 8.0,
"bb_rank": 516,
"k_value": 20.0,
"k_rank": 476,
"k_per_9_value": 9.152542,
"k_per_9_rank": 25,
"whip_value": 1.5762,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9928,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9928,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9996,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9698,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0031,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 19.2,
"ER": 11,
"H": 23,
"BB": 8,
"SO": 20,
"HR": 1,
"ERA": 5.033898305084746,
"WHIP": 1.5762711864406778,
"K9": 9.152542372881355,
"HR9": 0.45762711864406774,
"games_pitched": 4,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-08-28T00:00:00"
}{
"available": true,
"pitcher_id": "687273",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 87.8989365165491,
"release_spin_rate": 2078.2117200217035,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8989,
"release_spin_rate": 2078.2117,
"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.1103,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7877,
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687273",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 19.2,
"ER": 11.0,
"R": 11.0,
"H": 23.0,
"BB": 8.0,
"SO": 20.0,
"HR": 1.0,
"BF": 89.0,
"Pitches": 393.0
},
"per_game": {
"IP": 5.0,
"ER": 2.75,
"R": 2.75,
"H": 5.75,
"BB": 2.0,
"SO": 5.0,
"HR": 0.25,
"BF": 22.25,
"Pitches": 98.25
},
"rates": {
"ERA": 5.0339,
"WHIP": 1.5763,
"ER_per_IP": 0.55932,
"H_per_IP": 1.16949,
"BB_per_IP": 0.40678,
"SO_per_IP": 1.01695,
"HR_per_IP": 0.05085
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 19.2,
"ER": 11.0,
"R": 11.0,
"H": 23.0,
"BB": 8.0,
"SO": 20.0,
"HR": 1.0,
"BF": 89.0,
"Pitches": 393.0
},
"per_game": {
"IP": 5.0,
"ER": 2.75,
"R": 2.75,
"H": 5.75,
"BB": 2.0,
"SO": 5.0,
"HR": 0.25,
"BF": 22.25,
"Pitches": 98.25
},
"rates": {
"ERA": 5.0339,
"WHIP": 1.5763,
"ER_per_IP": 0.55932,
"H_per_IP": 1.16949,
"BB_per_IP": 0.40678,
"SO_per_IP": 1.01695,
"HR_per_IP": 0.05085
}
},
"season": {
"games": 4,
"totals": {
"IP": 19.2,
"ER": 11.0,
"R": 11.0,
"H": 23.0,
"BB": 8.0,
"SO": 20.0,
"HR": 1.0,
"BF": 89.0,
"Pitches": 393.0
},
"per_game": {
"IP": 5.0,
"ER": 2.75,
"R": 2.75,
"H": 5.75,
"BB": 2.0,
"SO": 5.0,
"HR": 0.25,
"BF": 22.25,
"Pitches": 98.25
},
"rates": {
"ERA": 5.0339,
"WHIP": 1.5763,
"ER_per_IP": 0.55932,
"H_per_IP": 1.16949,
"BB_per_IP": 0.40678,
"SO_per_IP": 1.01695,
"HR_per_IP": 0.05085
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.625,
"predicted_H": 5.302,
"predicted_BB": 1.933,
"predicted_SO": 4.868,
"predicted_HR": 0.52,
"predicted_ERA": 4.7252,
"predicted_WHIP": 1.447
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5847,
"form_weight": 0.4153,
"form_reliability": 0.4444,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.625,
"final": 2.8443,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.302,
"final": 5.7101,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.933,
"final": 1.3874,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.868,
"final": 3.7757,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.52,
"final": 0.2159,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7252,
"final": 4.7252,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.447,
"final": 1.447,
"source": "form_only"
}
}
}{
"available": false,
"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 | Justin Bruihl |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0667 |
| ESPN Rank | 286 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.7032 |
| Avg Spin | 2263.3762 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.4581 |
| Season WHIP | 1.3596 |
| Role Avg IP | 1.1090 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"opponent": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"edges": {
"quality_edge": -0.2119,
"offense_edge": 0.0027,
"opponent_offense_edge": 0.0948,
"defense_strength": -0.0152,
"opponent_defense_weakness": -0.1613,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9873,
"run_prevention": 1.0273,
"strikeout": 0.9861
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677865",
"profile": {
"available": true,
"pitcher_id": "677865",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 265.0,
"k_percent": 15.3,
"bb_percent": 8.7,
"woba": 0.312,
"xwoba": 0.309,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 35.6,
"avg_best_speed": 74.5093,
"avg_hyper_speed": 93.3766,
"whiff_percent": 17.6,
"swing_percent": 45.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.2697,
"command_and_miss": -0.7843,
"regression_edge": 0.0857,
"xwoba_edge": 0.0571,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.3143,
"whiff_edge": -1.0857,
"bb_edge": 0.1,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677865",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 33,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 84.70317822441322,
"release_spin_rate": 2263.376212668964,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 84.70317822441322,
"release_spin_rate": 2263.376212668964,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7032,
"release_spin_rate": 2263.3762,
"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.0667,
"sample_weight": 1.0,
"run_prevention_factor": 1.0057,
"strikeout_factor": 0.9189,
"walk_factor": 0.992,
"homer_factor": 0.9448,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677865",
"espn_id": 42735,
"player_name": "Justin Bruihl",
"team": "STL",
"role": "pitcher",
"espn_rank": 286,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 286,
"gp_value": 62.0,
"gp_rank": 19,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.4581,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 10.0,
"hld_rank": 80,
"ip_value": 67.2,
"ip_rank": 182,
"h_value": 67.0,
"h_rank": 162,
"er_value": 26.0,
"er_rank": 216,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 26.0,
"bb_rank": 200,
"k_value": 46.0,
"k_rank": 302,
"k_per_9_value": 6.1182265,
"k_per_9_rank": 44,
"whip_value": 1.3743,
"whip_rank": null,
"war_value": 0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0057,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0057,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9448,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9189,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 4,
"H": 10,
"BB": 5,
"SO": 6,
"HR": 0,
"ERA": 3.483870967741936,
"WHIP": 1.4516129032258067,
"K9": 5.225806451612904,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "677865",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 33,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 84.70317822441322,
"release_spin_rate": 2263.376212668964,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 84.70317822441322,
"release_spin_rate": 2263.376212668964,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7032,
"release_spin_rate": 2263.3762,
"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.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7312,
"prior_weight": 0.2688
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "677865",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 61,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 5.2,
"Pitches": 20.0
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1667,
"ER_per_IP": 0.33333,
"H_per_IP": 0.83333,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 4.0,
"R": 4.0,
"H": 10.0,
"BB": 5.0,
"SO": 7.0,
"HR": 0.0,
"BF": 49.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.5,
"SO": 0.7,
"HR": 0.0,
"BF": 4.9,
"Pitches": 18.3
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.2857,
"ER_per_IP": 0.34286,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"season": {
"games": 61,
"totals": {
"IP": 67.2,
"ER": 26.0,
"R": 31.0,
"H": 66.0,
"BB": 26.0,
"SO": 46.0,
"HR": 3.0,
"BF": 299.0,
"Pitches": 1139.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4262,
"R": 0.5082,
"H": 1.082,
"BB": 0.4262,
"SO": 0.7541,
"HR": 0.0492,
"BF": 4.9016,
"Pitches": 18.6721
},
"rates": {
"ERA": 3.4581,
"WHIP": 1.3596,
"ER_per_IP": 0.38424,
"H_per_IP": 0.97537,
"BB_per_IP": 0.38424,
"SO_per_IP": 0.6798,
"HR_per_IP": 0.04433
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.463,
"predicted_H": 1.073,
"predicted_BB": 0.448,
"predicted_SO": 0.866,
"predicted_HR": 0.055,
"predicted_ERA": 3.4863,
"predicted_WHIP": 1.2729
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4636,
"form_weight": 0.5364,
"form_reliability": 0.7312,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7312,
"prior_weight": 0.2688
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.463,
"final": 0.7119,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.073,
"final": 1.0392,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.448,
"final": 0.2403,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.866,
"final": 0.4646,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0295,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4863,
"final": 3.4863,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2729,
"final": 1.2729,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Riley O'Brien |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1496 |
| ESPN Rank | 324 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1677 |
| Avg Velo | 92.8620 |
| Avg Spin | 2254.2954 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 2 |
| Season ERA | 3.8802 |
| Season WHIP | 1.2036 |
| Role Avg IP | 0.9770 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"opponent": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"edges": {
"quality_edge": -0.2119,
"offense_edge": 0.0027,
"opponent_offense_edge": 0.0948,
"defense_strength": -0.0152,
"opponent_defense_weakness": -0.1613,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9873,
"run_prevention": 1.0273,
"strikeout": 0.9861
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676617",
"profile": {
"available": true,
"pitcher_id": "676617",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 209.0,
"k_percent": 23.1,
"bb_percent": 9.7,
"woba": 0.29,
"xwoba": 0.334,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 41.3,
"avg_best_speed": 77.2389,
"avg_hyper_speed": 94.4958,
"whiff_percent": 25.7,
"swing_percent": 44.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1526,
"command_and_miss": 0.0721,
"regression_edge": -1.2571,
"xwoba_edge": -0.6571,
"barrel_edge": 0.1333,
"hard_hit_edge": -0.5,
"whiff_edge": 0.0714,
"bb_edge": -0.15,
"pitch_design_score": 0.1677
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676617",
"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.86200310534556,
"release_spin_rate": 2254.295418884699,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.86200310534556,
"release_spin_rate": 2254.295418884699,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.862,
"release_spin_rate": 2254.2954,
"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.1677,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1976,
"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.1496,
"sample_weight": 0.836,
"run_prevention_factor": 1.0127,
"strikeout_factor": 1.0081,
"walk_factor": 1.01,
"homer_factor": 1.0243,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676617",
"espn_id": 41509,
"player_name": "Riley O'Brien",
"team": "STL",
"role": "pitcher",
"espn_rank": 324,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 324,
"gp_value": 57.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.8802,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 6.0,
"l_rank": 105,
"sv_value": 35.0,
"sv_rank": 2,
"hld_value": 1.0,
"hld_rank": 264,
"ip_value": 55.2,
"ip_rank": 247,
"h_value": 44.0,
"h_rank": 274,
"er_value": 24.0,
"er_rank": 242,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 23.0,
"bb_rank": 229,
"k_value": 55.0,
"k_rank": 242,
"k_per_9_value": 8.892216,
"k_per_9_rank": 26,
"whip_value": 1.2035,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0106,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0106,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0084,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0203,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0068,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 7,
"H": 9,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 7.0,
"WHIP": 1.3333333333333333,
"K9": 7.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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "676617",
"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.86200310534556,
"release_spin_rate": 2254.295418884699,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.86200310534556,
"release_spin_rate": 2254.295418884699,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.862,
"release_spin_rate": 2254.2954,
"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.1677,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1976,
"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.189,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6911,
"prior_weight": 0.3089
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676617",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 57,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 7.0,
"R": 8.0,
"H": 9.0,
"BB": 3.0,
"SO": 2.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 99.0
},
"per_game": {
"IP": 0.2,
"ER": 1.4,
"R": 1.6,
"H": 1.8,
"BB": 0.6,
"SO": 0.4,
"HR": 0.2,
"BF": 4.8,
"Pitches": 19.8
},
"rates": {
"ERA": 15.75,
"WHIP": 3.0,
"ER_per_IP": 1.75,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.5,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 7.0,
"R": 8.0,
"H": 9.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 0.9,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.6
},
"rates": {
"ERA": 7.0,
"WHIP": 1.3333,
"ER_per_IP": 0.77778,
"H_per_IP": 1.0,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.77778,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 57,
"totals": {
"IP": 55.2,
"ER": 24.0,
"R": 27.0,
"H": 44.0,
"BB": 23.0,
"SO": 55.0,
"HR": 3.0,
"BF": 238.0,
"Pitches": 939.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4211,
"R": 0.4737,
"H": 0.7719,
"BB": 0.4035,
"SO": 0.9649,
"HR": 0.0526,
"BF": 4.1754,
"Pitches": 16.4737
},
"rates": {
"ERA": 3.8802,
"WHIP": 1.2036,
"ER_per_IP": 0.43114,
"H_per_IP": 0.79042,
"BB_per_IP": 0.41317,
"SO_per_IP": 0.98802,
"HR_per_IP": 0.05389
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.848,
"predicted_H": 1.211,
"predicted_BB": 0.435,
"predicted_SO": 0.69,
"predicted_HR": 0.141,
"predicted_ERA": 8.511,
"predicted_WHIP": 1.8369
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4805,
"form_weight": 0.5195,
"form_reliability": 0.6911,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.189,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6911,
"prior_weight": 0.3089
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.848,
"final": 0.4405,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.211,
"final": 0.6291,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.435,
"final": 1.187,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.69,
"final": 1.3195,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.141,
"final": 0.0732,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.511,
"final": 8.511,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8369,
"final": 1.8369,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryne Stanek |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0189 |
| ESPN Rank | 547 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 4.1411 |
| Season WHIP | 1.3620 |
| Role Avg IP | 0.9060 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"opponent": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"edges": {
"quality_edge": -0.2119,
"offense_edge": 0.0027,
"opponent_offense_edge": 0.0948,
"defense_strength": -0.0152,
"opponent_defense_weakness": -0.1613,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9873,
"run_prevention": 1.0273,
"strikeout": 0.9861
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592773",
"profile": {
"available": true,
"pitcher_id": "592773",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 213.0,
"k_percent": 24.5,
"bb_percent": 12.0,
"woba": 0.329,
"xwoba": 0.318,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 37.0,
"avg_best_speed": 78.5703,
"avg_hyper_speed": 94.3192,
"whiff_percent": 29.0,
"swing_percent": 49.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1942,
"command_and_miss": 0.2121,
"regression_edge": 0.3143,
"xwoba_edge": -0.2,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.5429,
"bb_edge": -0.725,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0189,
"sample_weight": 0.852,
"run_prevention_factor": 1.0016,
"strikeout_factor": 1.0312,
"walk_factor": 1.0494,
"homer_factor": 1.0255,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592773",
"espn_id": 33301,
"player_name": "Ryne Stanek",
"team": "STL",
"role": "pitcher",
"espn_rank": 547,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 547,
"gp_value": 61.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.3067,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 24.0,
"hld_rank": 6,
"ip_value": 54.1,
"ip_rank": 261,
"h_value": 48.0,
"h_rank": 247,
"er_value": 26.0,
"er_rank": 216,
"hr_value": 9.0,
"hr_rank": 171,
"bb_value": 28.0,
"bb_rank": 173,
"k_value": 57.0,
"k_rank": 231,
"k_per_9_value": 9.441718,
"k_per_9_rank": 23,
"whip_value": 1.3987,
"whip_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0014,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0421,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0217,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0266,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 3,
"H": 7,
"BB": 1,
"SO": 8,
"HR": 1,
"ERA": 3.0,
"WHIP": 0.8888888888888888,
"K9": 8.0,
"HR9": 1.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-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6859,
"prior_weight": 0.3141
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592773",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 56.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 11.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6923,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 8.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 116.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.1,
"SO": 0.8,
"HR": 0.1,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 3.0,
"WHIP": 0.8889,
"ER_per_IP": 0.33333,
"H_per_IP": 0.77778,
"BB_per_IP": 0.11111,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 60,
"totals": {
"IP": 54.1,
"ER": 25.0,
"R": 27.0,
"H": 47.0,
"BB": 27.0,
"SO": 57.0,
"HR": 9.0,
"BF": 231.0,
"Pitches": 942.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.45,
"H": 0.7833,
"BB": 0.45,
"SO": 0.95,
"HR": 0.15,
"BF": 3.85,
"Pitches": 15.7
},
"rates": {
"ERA": 4.1411,
"WHIP": 1.362,
"ER_per_IP": 0.46012,
"H_per_IP": 0.86503,
"BB_per_IP": 0.49693,
"SO_per_IP": 1.04908,
"HR_per_IP": 0.16564
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.299,
"predicted_H": 0.753,
"predicted_BB": 0.282,
"predicted_SO": 1.008,
"predicted_HR": 0.095,
"predicted_ERA": 2.6949,
"predicted_WHIP": 1.0359
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4827,
"form_weight": 0.5173,
"form_reliability": 0.6859,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6859,
"prior_weight": 0.3141
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.299,
"final": 0.1547,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.753,
"final": 0.3895,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.282,
"final": 0.6286,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.008,
"final": 1.4868,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.095,
"final": 0.0491,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6949,
"final": 2.6949,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0359,
"final": 1.0359,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | George Soriano |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1102 |
| ESPN Rank | 545 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0999 |
| Avg Velo | 91.6513 |
| Avg Spin | 2144.3523 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.3500 |
| Season WHIP | 1.3000 |
| Role Avg IP | 0.9680 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"opponent": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"edges": {
"quality_edge": -0.2119,
"offense_edge": 0.0027,
"opponent_offense_edge": 0.0948,
"defense_strength": -0.0152,
"opponent_defense_weakness": -0.1613,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9873,
"run_prevention": 1.0273,
"strikeout": 0.9861
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666277",
"profile": {
"available": true,
"pitcher_id": "666277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 232.0,
"k_percent": 22.9,
"bb_percent": 10.5,
"woba": 0.317,
"xwoba": 0.325,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 40.5,
"avg_best_speed": 80.3737,
"avg_hyper_speed": 94.3952,
"whiff_percent": 29.8,
"swing_percent": 48.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.2896,
"command_and_miss": 0.2243,
"regression_edge": -0.2286,
"xwoba_edge": -0.4,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.3857,
"whiff_edge": 0.6571,
"bb_edge": -0.35,
"pitch_design_score": 0.0999
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.65133654744871,
"release_spin_rate": 2144.3523231060412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.65133654744871,
"release_spin_rate": 2144.3523231060412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6513,
"release_spin_rate": 2144.3523,
"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.0999,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7133,
"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.1102,
"sample_weight": 0.928,
"run_prevention_factor": 1.0094,
"strikeout_factor": 1.0297,
"walk_factor": 1.026,
"homer_factor": 1.0617,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666277",
"espn_id": 4917836,
"player_name": "George Soriano",
"team": "STL",
"role": "pitcher",
"espn_rank": 545,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 545,
"gp_value": 62.0,
"gp_rank": 19,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 4.35,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 2.0,
"sv_rank": 88,
"hld_value": 20.0,
"hld_rank": 15,
"ip_value": 60.0,
"ip_rank": 217,
"h_value": 51.0,
"h_rank": 226,
"er_value": 29.0,
"er_rank": 186,
"hr_value": 10.0,
"hr_rank": 151,
"bb_value": 27.0,
"bb_rank": 186,
"k_value": 59.0,
"k_rank": 221,
"k_per_9_value": 8.85,
"k_per_9_rank": 27,
"whip_value": 1.3,
"whip_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0087,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 1.0087,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0241,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0573,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0276,
"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": 9,
"H": 12,
"BB": 7,
"SO": 8,
"HR": 3,
"ERA": 8.678571428571429,
"WHIP": 2.035714285714286,
"K9": 7.714285714285715,
"HR9": 2.8928571428571432,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "666277",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.65133654744871,
"release_spin_rate": 2144.3523231060412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.65133654744871,
"release_spin_rate": 2144.3523231060412,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6513,
"release_spin_rate": 2144.3523,
"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.0999,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7133,
"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.06,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7069,
"prior_weight": 0.2931
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666277",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 62,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 7.0,
"R": 7.0,
"H": 7.0,
"BB": 4.0,
"SO": 4.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 1.4,
"R": 1.4,
"H": 1.4,
"BB": 0.8,
"SO": 0.8,
"HR": 0.2,
"BF": 5.0,
"Pitches": 17.6
},
"rates": {
"ERA": 13.5,
"WHIP": 2.3571,
"ER_per_IP": 1.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 9.0,
"R": 9.0,
"H": 12.0,
"BB": 7.0,
"SO": 8.0,
"HR": 3.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 0.9,
"H": 1.2,
"BB": 0.7,
"SO": 0.8,
"HR": 0.3,
"BF": 4.6,
"Pitches": 17.6
},
"rates": {
"ERA": 8.6786,
"WHIP": 2.0357,
"ER_per_IP": 0.96429,
"H_per_IP": 1.28571,
"BB_per_IP": 0.75,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 62,
"totals": {
"IP": 60.0,
"ER": 29.0,
"R": 30.0,
"H": 51.0,
"BB": 27.0,
"SO": 59.0,
"HR": 10.0,
"BF": 258.0,
"Pitches": 1009.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4677,
"R": 0.4839,
"H": 0.8226,
"BB": 0.4355,
"SO": 0.9516,
"HR": 0.1613,
"BF": 4.1613,
"Pitches": 16.2742
},
"rates": {
"ERA": 4.35,
"WHIP": 1.3,
"ER_per_IP": 0.48333,
"H_per_IP": 0.85,
"BB_per_IP": 0.45,
"SO_per_IP": 0.98333,
"HR_per_IP": 0.16667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.748,
"predicted_H": 0.966,
"predicted_BB": 0.507,
"predicted_SO": 0.723,
"predicted_HR": 0.172,
"predicted_ERA": 8.3692,
"predicted_WHIP": 1.8311
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4738,
"form_weight": 0.5262,
"form_reliability": 0.7069,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.06,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7069,
"prior_weight": 0.2931
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.748,
"final": 0.3936,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.966,
"final": 0.5083,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.507,
"final": 0.2668,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.723,
"final": 0.3804,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.172,
"final": 0.0905,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.3692,
"final": 8.3692,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8311,
"final": 1.8311,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cade Winquest |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4011 |
| ESPN Rank | 570 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"available": false,
"reason": "No team-form snapshot was stored for this pitcher row.",
"display_fallback": "Use the game-level Team Form Snapshot section for team context."
}{
"available": false,
"reason": "No pitcher-specific recent-form block was stored for this row.",
"display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}{
"available": false,
"pitcher_id": "685464",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.603,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1076,
"prior_weight": 0.8924
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "685464",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 1.0,
"R": 3.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 49.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 1.5,
"H": 1.0,
"BB": 1.0,
"SO": 1.5,
"HR": 0.0,
"BF": 6.5,
"Pitches": 24.5
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 1.0,
"R": 3.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 49.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 1.5,
"H": 1.0,
"BB": 1.0,
"SO": 1.5,
"HR": 0.0,
"BF": 6.5,
"Pitches": 24.5
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 1.0,
"R": 3.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 49.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 1.5,
"H": 1.0,
"BB": 1.0,
"SO": 1.5,
"HR": 0.0,
"BF": 6.5,
"Pitches": 24.5
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.212,
"predicted_H": 0.414,
"predicted_BB": 0.177,
"predicted_SO": 0.417,
"predicted_HR": 0.058,
"predicted_ERA": 4.3192,
"predicted_WHIP": 1.3425
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.727,
"form_weight": 0.273,
"form_reliability": 0.1076,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.603,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1076,
"prior_weight": 0.8924
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.212,
"final": 0.0579,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.414,
"final": 0.113,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.177,
"final": 0.0483,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.417,
"final": 0.1138,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0158,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3192,
"final": 4.3192,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3425,
"final": 1.3425,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 1.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | 0.820 | 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.102 | 3.000 | 0.898 | 1.000 |
| predicted_AVG | 0.246 | 0.500 | 0.333 | Hitting_AVG | 0.257 | 0.333 | 0.243 | 0.167 |
| predicted_BB | 0.271 | 1.000 | 0.000 | Hitting_BB | 0.363 | 1.000 | 0.637 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.708 | 2.000 | 1.000 | Hitting_H | 0.796 | 1.000 | 1.204 | 1.000 |
| predicted_HR | 0.062 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.311 | 0.600 | 0.333 | Hitting_OBP | 0.332 | 0.500 | 0.268 | 0.100 |
| predicted_R | 0.260 | 0.000 | 0.000 | Hitting_R | 0.299 | 1.000 | -0.299 | -1.000 |
| predicted_RBI | 0.365 | 0.000 | 0.000 | Hitting_RBI | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_SLG | 0.362 | 0.750 | 0.333 | Hitting_SLG | 0.372 | 0.333 | 0.378 | 0.417 |
| predicted_SO | 0.406 | 0.000 | 0.000 | Hitting_SO | 0.419 | 0.000 | -0.419 | 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.7080 -> 2.0000 (boost 1.2920, better) |
| Biggest Deboost | predicted_SO: 0.4060 -> 0.0000 (deboost -0.4060, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 1 | 3 | predicted_AB: 2.8750 -> 3.0607 (boost 0.1857, better) | predicted_SLG: 0.3620 -> 0.3480 (deboost -0.0140, worse) | Final model input calibrated with local 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.3480 -> 0.3400 (deboost -0.0080, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7259 -> 1.0000 (boost 0.2741, better) | predicted_SO: 0.4798 -> 0.0000 (deboost -0.4798, better) | AB rounded to 3 (raw=3.06), rates preserved: AVG=0.237 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2784 -> 0.0000 (deboost -0.2784, 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.3400 -> 0.3480 (boost 0.0080, better) | - | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3480 -> 0.3400 (deboost -0.0080, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665877",
"player_name": "José Fermín",
"position": "2B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.146,
"predicted_3B": 0.0,
"predicted_AB": 2.875,
"predicted_AVG": 0.246,
"predicted_BB": 0.271,
"predicted_H": 0.708,
"predicted_HR": 0.062,
"predicted_OBP": 0.311,
"predicted_R": 0.26,
"predicted_RBI": 0.365,
"predicted_SLG": 0.362,
"predicted_SO": 0.406
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.0004,
"predicted_AB": 3.0607,
"predicted_AVG": 0.2424,
"predicted_BB": 0.257,
"predicted_H": 0.7415,
"predicted_HBP": 0.009,
"predicted_HR": 0.0633,
"predicted_OBP": 0.2998,
"predicted_R": 0.2888,
"predicted_RBI": 0.3633,
"predicted_SLG": 0.348,
"predicted_SO": 0.4768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.129,
"delta": -0.017,
"percent_delta": -0.1164,
"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.875,
"after": 3.0607,
"delta": 0.1857,
"percent_delta": 0.0646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2424,
"delta": -0.0036,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.257,
"delta": -0.014,
"percent_delta": -0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.708,
"after": 0.7415,
"delta": 0.0335,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0633,
"delta": 0.0013,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2998,
"delta": -0.0112,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.26,
"after": 0.2888,
"delta": 0.0288,
"percent_delta": 0.1108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.365,
"after": 0.3633,
"delta": -0.0017,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.348,
"delta": -0.014,
"percent_delta": -0.0387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.406,
"after": 0.4768,
"delta": 0.0708,
"percent_delta": 0.1744,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.875,
"after": 3.0607,
"delta": 0.1857,
"percent_delta": 0.0646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.348,
"delta": -0.014,
"percent_delta": -0.0387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.129,
"predicted_3B": 0.0004,
"predicted_AB": 3.0607,
"predicted_AVG": 0.2372,
"predicted_BB": 0.2554,
"predicted_H": 0.7259,
"predicted_HBP": 0.009,
"predicted_HR": 0.0616,
"predicted_OBP": 0.2959,
"predicted_R": 0.2784,
"predicted_RBI": 0.3503,
"predicted_SLG": 0.34,
"predicted_SO": 0.4798
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.129,
"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.0607,
"after": 3.0607,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2424,
"after": 0.2372,
"delta": -0.0052,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2554,
"delta": -0.0016,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7415,
"after": 0.7259,
"delta": -0.0156,
"percent_delta": -0.021,
"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.0633,
"after": 0.0616,
"delta": -0.0017,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2998,
"after": 0.2959,
"delta": -0.0039,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2888,
"after": 0.2784,
"delta": -0.0104,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3633,
"after": 0.3503,
"delta": -0.013,
"percent_delta": -0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.34,
"delta": -0.008,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4768,
"after": 0.4798,
"delta": 0.003,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.34,
"delta": -0.008,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.06), rates preserved: AVG=0.237 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0607,
"after": 3.0,
"delta": -0.0607,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2554,
"after": 0.0,
"delta": -0.2554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7259,
"after": 1.0,
"delta": 0.2741,
"percent_delta": 0.3776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0616,
"after": 0.0,
"delta": -0.0616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3503,
"after": 0.0,
"delta": -0.3503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4798,
"after": 0.0,
"delta": -0.4798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7259,
"after": 1.0,
"delta": 0.2741,
"percent_delta": 0.3776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4798,
"after": 0.0,
"delta": -0.4798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2784,
"after": 0.0,
"delta": -0.2784,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.2784,
"after": 0.0,
"delta": -0.2784,
"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": 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": 3.0,
"predicted_AVG": 0.237,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.348,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2959,
"after": 0.301,
"delta": 0.0051,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.348,
"delta": 0.008,
"percent_delta": 0.0235,
"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.34,
"after": 0.348,
"delta": 0.008,
"percent_delta": 0.0235,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2372,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2959,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.34,
"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.237,
"after": 0.2372,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2959,
"delta": -0.0051,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.34,
"delta": -0.008,
"percent_delta": -0.0231,
"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.348,
"after": 0.34,
"delta": -0.008,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 1.0,
"delta": 0.854,
"percent_delta": 5.8493,
"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.246,
"after": 0.2372,
"delta": -0.0088,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 1.0,
"delta": 0.729,
"percent_delta": 2.69,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.708,
"after": 2.0,
"delta": 1.292,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2959,
"delta": -0.0151,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.34,
"delta": -0.022,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"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.708,
"after": 2.0,
"delta": 1.292,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.875 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.271 | - |
| predicted_H | 0.708 | - |
| predicted_HR | 0.062 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.260 | - |
| predicted_RBI | 0.365 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.406 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.061 | 0.186 |
| predicted_AVG | 0.242 | -0.004 |
| predicted_BB | 0.257 | -0.014 |
| predicted_H | 0.742 | 0.034 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.063 | 0.001 |
| predicted_OBP | 0.300 | -0.011 |
| predicted_R | 0.289 | 0.029 |
| predicted_RBI | 0.363 | -0.002 |
| predicted_SLG | 0.348 | -0.014 |
| predicted_SO | 0.477 | 0.071 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.061 | 0.000 |
| predicted_AVG | 0.237 | -0.005 |
| predicted_BB | 0.255 | -0.002 |
| predicted_H | 0.726 | -0.016 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.062 | -0.002 |
| predicted_OBP | 0.296 | -0.004 |
| predicted_R | 0.278 | -0.010 |
| predicted_RBI | 0.350 | -0.013 |
| predicted_SLG | 0.340 | -0.008 |
| predicted_SO | 0.480 | 0.003 |
AB rounded to 3 (raw=3.06), rates preserved: AVG=0.237 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.129 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.061 |
| predicted_AVG | 0.237 | -0.000 |
| predicted_BB | 0.000 | -0.255 |
| predicted_H | 1.000 | 0.274 |
| predicted_HR | 0.000 | -0.062 |
| predicted_OBP | 0.301 | 0.005 |
| predicted_R | 0.000 | -0.278 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.348 | 0.008 |
| predicted_SO | 0.000 | -0.480 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 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 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.2632 | 0.2857 | 0.2632 | 0.2632 | 0.0000 | 0.0526 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 8.000 | 0.1795 | 0.1951 | 0.2564 | 0.1795 | 0.0256 | 0.1026 | 0.0256 | 0.2051 |
| season | 0.60 | 96 | - | 276.000 | 68.000 | 14.000 | 0.000 | 6.000 | 35.000 | 25.000 | 26.000 | 39.000 | 0.2464 | 0.3105 | 0.3623 | 0.2464 | 0.0217 | 0.1268 | 0.0942 | 0.1413 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3130 |
| predicted_AVG | 0.2374 |
| predicted_BB | 0.2380 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.2845 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.3610 |
| predicted_SLG | 0.3290 |
| predicted_SO | 0.5730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.1060 | 0.1290 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8750 | 3.3130 | 3.0607 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2374 | 0.2424 | model_form_blend |
| predicted_BB | 0.2710 | 0.2380 | 0.2570 | model_form_blend |
| predicted_H | 0.7080 | 0.7870 | 0.7415 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0620 | 0.0650 | 0.0633 | model_form_blend |
| predicted_OBP | 0.3110 | 0.2845 | 0.2998 | model_form_blend |
| predicted_R | 0.2600 | 0.3280 | 0.2888 | model_form_blend |
| predicted_RBI | 0.3650 | 0.3610 | 0.3633 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3290 | 0.3480 | model_form_blend |
| predicted_SO | 0.4060 | 0.5730 | 0.4768 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 284 |
| Season rows before report date | 284 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 2 |
| 2B | 1 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 665877 |
| playerID | 665877 |
| playerName | José Fermín |
| pos | LF |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 12.9 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.295 |
| sl_xwoba | 0.294 |
| sl_xba | 0.249 |
| sl_xslg | 0.342 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 13.8 |
| sl_swing_percent | 39.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 0.000 | 1.000 | Hitting_2B | 0.108 | 2.000 | -0.108 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.235 | 4.000 | 3.000 | Hitting_AB | 3.838 | 2.000 | 0.162 | 2.000 |
| predicted_AVG | 0.218 | 0.000 | 0.333 | Hitting_AVG | 0.155 | 1.000 | -0.155 | -1.000 |
| predicted_BB | 0.176 | 1.000 | 0.000 | Hitting_BB | 0.108 | 0.000 | 0.892 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.706 | 0.000 | 1.000 | Hitting_H | 0.595 | 2.000 | -0.595 | -2.000 |
| predicted_HR | 0.353 | 0.000 | 0.000 | Hitting_HR | 0.405 | 0.000 | -0.405 | 0.000 |
| predicted_OBP | 0.259 | 0.200 | 0.333 | Hitting_OBP | 0.179 | 1.000 | 0.021 | -0.800 |
| predicted_R | 0.529 | 0.000 | 1.000 | Hitting_R | 0.486 | 1.000 | -0.486 | -1.000 |
| predicted_RBI | 0.765 | 0.000 | 1.000 | Hitting_RBI | 0.838 | 2.000 | -0.838 | -2.000 |
| predicted_SLG | 0.618 | 0.000 | 0.667 | Hitting_SLG | 0.500 | 2.000 | -0.500 | -2.000 |
| predicted_SO | 1.294 | 1.000 | 1.000 | Hitting_SO | 1.486 | 0.000 | -0.486 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1760 -> 1.0000 (boost 0.8240, better) |
| Biggest Deboost | predicted_RBI: 0.7650 -> 0.0000 (deboost -0.7650, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_OBP: 0.2590 -> 0.2718 (boost 0.0128, better) | predicted_SO: 1.2940 -> 1.2140 (deboost -0.0800, 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.6080 -> 0.5948 (deboost -0.0132, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.6961 -> 1.0000 (boost 0.3039, better) | predicted_HR: 0.3176 -> 0.0000 (deboost -0.3176, worse) | AB rounded to 3 (raw=3.28), rates preserved: AVG=0.224 HR/AB=0.097 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5223 -> 1.0000 (boost 0.4777, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.5948 -> 0.6020 (boost 0.0072, 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 | 2 | 3 | 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.6020 -> 0.5948 (deboost -0.0072, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695491",
"player_name": "Joshua Baez",
"position": "LF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 3.235,
"predicted_AVG": 0.218,
"predicted_BB": 0.176,
"predicted_H": 0.706,
"predicted_HR": 0.353,
"predicted_OBP": 0.259,
"predicted_R": 0.529,
"predicted_RBI": 0.765,
"predicted_SLG": 0.618,
"predicted_SO": 1.294
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.259,
"predicted_3B": 0.0014,
"predicted_AB": 3.2752,
"predicted_AVG": 0.2285,
"predicted_BB": 0.1672,
"predicted_H": 0.7494,
"predicted_HBP": 0.08,
"predicted_HR": 0.3262,
"predicted_OBP": 0.2718,
"predicted_R": 0.5417,
"predicted_RBI": 0.722,
"predicted_SLG": 0.608,
"predicted_SO": 1.214
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.259,
"delta": 0.024,
"percent_delta": 0.1021,
"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.235,
"after": 3.2752,
"delta": 0.0402,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2285,
"delta": 0.0105,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1672,
"delta": -0.0088,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.706,
"after": 0.7494,
"delta": 0.0434,
"percent_delta": 0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.353,
"after": 0.3262,
"delta": -0.0268,
"percent_delta": -0.0759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2718,
"delta": 0.0128,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.5417,
"delta": 0.0127,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.765,
"after": 0.722,
"delta": -0.043,
"percent_delta": -0.0562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.618,
"after": 0.608,
"delta": -0.01,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.294,
"after": 1.214,
"delta": -0.08,
"percent_delta": -0.0618,
"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_OBP",
"before": 0.259,
"after": 0.2718,
"delta": 0.0128,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.294,
"after": 1.214,
"delta": -0.08,
"percent_delta": -0.0618,
"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": 17
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.259,
"predicted_3B": 0.0014,
"predicted_AB": 3.2752,
"predicted_AVG": 0.224,
"predicted_BB": 0.1662,
"predicted_H": 0.7336,
"predicted_HBP": 0.08,
"predicted_HR": 0.3176,
"predicted_OBP": 0.2615,
"predicted_R": 0.5223,
"predicted_RBI": 0.6961,
"predicted_SLG": 0.5948,
"predicted_SO": 1.2215
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.259,
"after": 0.259,
"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.2752,
"after": 3.2752,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2285,
"after": 0.224,
"delta": -0.0045,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1672,
"after": 0.1662,
"delta": -0.001,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7494,
"after": 0.7336,
"delta": -0.0158,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3262,
"after": 0.3176,
"delta": -0.0086,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2718,
"after": 0.2615,
"delta": -0.0103,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5417,
"after": 0.5223,
"delta": -0.0194,
"percent_delta": -0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.722,
"after": 0.6961,
"delta": -0.0259,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.608,
"after": 0.5948,
"delta": -0.0132,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.214,
"after": 1.2215,
"delta": 0.0075,
"percent_delta": 0.0062,
"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.608,
"after": 0.5948,
"delta": -0.0132,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.28), rates preserved: AVG=0.224 HR/AB=0.097",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"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.2752,
"after": 3.0,
"delta": -0.2752,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1662,
"after": 0.0,
"delta": -0.1662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7336,
"after": 1.0,
"delta": 0.2664,
"percent_delta": 0.3631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3176,
"after": 0.0,
"delta": -0.3176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6961,
"after": 1.0,
"delta": 0.3039,
"percent_delta": 0.4366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2215,
"after": 1.0,
"delta": -0.2215,
"percent_delta": -0.1813,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6961,
"after": 1.0,
"delta": 0.3039,
"percent_delta": 0.4366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3176,
"after": 0.0,
"delta": -0.3176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"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.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 3.0,
"predicted_AVG": 0.224,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.267,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.602,
"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.224,
"after": 0.224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2615,
"after": 0.267,
"delta": 0.0055,
"percent_delta": 0.021,
"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.5948,
"after": 0.602,
"delta": 0.0072,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5948,
"after": 0.602,
"delta": 0.0072,
"percent_delta": 0.0121,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"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.224,
"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.2615,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5948,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.224,
"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.267,
"after": 0.2615,
"delta": -0.0055,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.602,
"after": 0.5948,
"delta": -0.0072,
"percent_delta": -0.0119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.602,
"after": 0.5948,
"delta": -0.0072,
"percent_delta": -0.0119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.235,
"after": 4.0,
"delta": 0.765,
"percent_delta": 0.2365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.224,
"delta": 0.006,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.706,
"after": 0.0,
"delta": -0.706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2615,
"delta": 0.0025,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.765,
"after": 0.0,
"delta": -0.765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.618,
"after": 0.5948,
"delta": -0.0232,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.294,
"after": 1.0,
"delta": -0.294,
"percent_delta": -0.2272,
"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.176,
"after": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.765,
"after": 0.0,
"delta": -0.765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.235 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.176 | - |
| predicted_H | 0.706 | - |
| predicted_HR | 0.353 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.529 | - |
| predicted_RBI | 0.765 | - |
| predicted_SLG | 0.618 | - |
| predicted_SO | 1.294 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.259 | 0.024 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.275 | 0.040 |
| predicted_AVG | 0.229 | 0.011 |
| predicted_BB | 0.167 | -0.009 |
| predicted_H | 0.749 | 0.043 |
| predicted_HBP | 0.080 | - |
| predicted_HR | 0.326 | -0.027 |
| predicted_OBP | 0.272 | 0.013 |
| predicted_R | 0.542 | 0.013 |
| predicted_RBI | 0.722 | -0.043 |
| predicted_SLG | 0.608 | -0.010 |
| predicted_SO | 1.214 | -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.259 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.275 | 0.000 |
| predicted_AVG | 0.224 | -0.005 |
| predicted_BB | 0.166 | -0.001 |
| predicted_H | 0.734 | -0.016 |
| predicted_HBP | 0.080 | 0.000 |
| predicted_HR | 0.318 | -0.009 |
| predicted_OBP | 0.262 | -0.010 |
| predicted_R | 0.522 | -0.019 |
| predicted_RBI | 0.696 | -0.026 |
| predicted_SLG | 0.595 | -0.013 |
| predicted_SO | 1.222 | 0.008 |
AB rounded to 3 (raw=3.28), rates preserved: AVG=0.224 HR/AB=0.097
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.259 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.275 |
| predicted_AVG | 0.224 | 0.000 |
| predicted_BB | 0.000 | -0.166 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.318 |
| predicted_OBP | 0.267 | 0.006 |
| predicted_R | 1.000 | 0.478 |
| predicted_RBI | 1.000 | 0.304 |
| predicted_SLG | 0.602 | 0.007 |
| predicted_SO | 1.000 | -0.222 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 3.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 3.000 | 0.3571 | 0.4000 | 1.0000 | 0.3571 | 0.1429 | 0.2857 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 4.000 | 0.000 | 2.000 | 4.000 | 5.000 | 0.000 | 13.000 | 0.2258 | 0.2500 | 0.5484 | 0.2258 | 0.0645 | 0.1290 | 0.0000 | 0.4194 |
| season | 0.60 | 17 | - | 55.000 | 12.000 | 4.000 | 0.000 | 6.000 | 13.000 | 9.000 | 3.000 | 22.000 | 0.2182 | 0.2667 | 0.6182 | 0.2182 | 0.1091 | 0.2364 | 0.0546 | 0.4000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3030 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3490 |
| predicted_AVG | 0.2477 |
| predicted_BB | 0.1510 |
| predicted_H | 0.8290 |
| predicted_HBP | 0.0800 |
| predicted_HR | 0.2770 |
| predicted_OBP | 0.2952 |
| predicted_R | 0.5650 |
| predicted_RBI | 0.6430 |
| predicted_SLG | 0.5895 |
| predicted_SO | 1.0670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.3030 | 0.2590 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.2350 | 3.3490 | 3.2752 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2477 | 0.2285 | model_form_blend |
| predicted_BB | 0.1760 | 0.1510 | 0.1672 | model_form_blend |
| predicted_H | 0.7060 | 0.8290 | 0.7494 | model_form_blend |
| predicted_HBP | - | 0.0800 | 0.0800 | form_only |
| predicted_HR | 0.3530 | 0.2770 | 0.3262 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2952 | 0.2718 | model_form_blend |
| predicted_R | 0.5290 | 0.5650 | 0.5417 | model_form_blend |
| predicted_RBI | 0.7650 | 0.6430 | 0.7220 | model_form_blend |
| predicted_SLG | 0.6180 | 0.5895 | 0.6080 | model_form_blend |
| predicted_SO | 1.2940 | 1.0670 | 1.2140 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260902_STL@LAD |
| game_type | ph |
| mlbID | 695491 |
| note | Doubled for Torres, B in the 8th. |
| playerID | 695491 |
| playerName | Joshua Baez |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 35.4 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.349 |
| sl_xwoba | 0.316 |
| sl_xba | 0.205 |
| sl_xslg | 0.484 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 16.2 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 36.5 |
| sl_swing_percent | 55.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 1.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.500 | 4.000 | 4.000 | Hitting_AB | 4.500 | 4.000 | -0.500 | 0.000 |
| predicted_AVG | 0.222 | 0.250 | 0.250 | Hitting_AVG | 0.222 | 0.250 | 0.028 | 0.000 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_HR | 0.500 | 0.000 | 1.000 | Hitting_HR | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_OBP | 0.222 | 0.250 | 0.250 | Hitting_OBP | 0.222 | 0.250 | 0.028 | 0.000 |
| predicted_R | 1.000 | 1.000 | 1.000 | Hitting_R | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_RBI | 2.000 | 1.000 | 2.000 | Hitting_RBI | 2.000 | 2.000 | -1.000 | -1.000 |
| predicted_SLG | 0.556 | 0.500 | 1.000 | Hitting_SLG | 0.556 | 1.000 | -0.056 | -0.500 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 0.000 | -1.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_RBI: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 1 | 5 | predicted_OBP: 0.2220 -> 0.2365 (boost 0.0145, better) | predicted_RBI: 2.0000 -> 1.7282 (deboost -0.2718, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 1.7282 -> 1.6662 (deboost -0.0620, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 3 | 0 | 3 | 0 | 3 | - | predicted_RBI: 1.6662 -> 1.0000 (deboost -0.6662, worse) | AB rounded to 4 (raw=4.50), rates preserved: AVG=0.216 HR/AB=0.094 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8782 -> 1.0000 (boost 0.1218, better) | - | 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 | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.5198 -> 0.5530 (boost 0.0332, 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 | 2 | 1 | 1 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2160 -> 0.2215 (boost 0.0055, better) | predicted_SLG: 0.5530 -> 0.5198 (deboost -0.0332, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699024",
"player_name": "Leonardo Bernal",
"position": "1B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.5,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.5,
"predicted_OBP": 0.222,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.556,
"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.0324,
"predicted_3B": 0.0027,
"predicted_AB": 4.3794,
"predicted_AVG": 0.2265,
"predicted_BB": 0.0479,
"predicted_H": 0.991,
"predicted_HBP": 0.026,
"predicted_HR": 0.4343,
"predicted_OBP": 0.2365,
"predicted_R": 0.9109,
"predicted_RBI": 1.7282,
"predicted_SLG": 0.5303,
"predicted_SO": 0.9737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0324,
"delta": 0.0324,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0027,
"delta": 0.0027,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5,
"after": 4.3794,
"delta": -0.1206,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2265,
"delta": 0.0045,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0479,
"delta": 0.0479,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.991,
"delta": -0.009,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5,
"after": 0.4343,
"delta": -0.0657,
"percent_delta": -0.1314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.222,
"after": 0.2365,
"delta": 0.0145,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.9109,
"delta": -0.0891,
"percent_delta": -0.0891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 1.7282,
"delta": -0.2718,
"percent_delta": -0.1359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.5303,
"delta": -0.0257,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9737,
"delta": -0.0263,
"percent_delta": -0.0263,
"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_OBP",
"before": 0.222,
"after": 0.2365,
"delta": 0.0145,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 2.0,
"after": 1.7282,
"delta": -0.2718,
"percent_delta": -0.1359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 2,
"last_10": 2,
"season": 2
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0324,
"predicted_3B": 0.0027,
"predicted_AB": 4.3794,
"predicted_AVG": 0.2215,
"predicted_BB": 0.0476,
"predicted_H": 0.9701,
"predicted_HBP": 0.026,
"predicted_HR": 0.4228,
"predicted_OBP": 0.2299,
"predicted_R": 0.8782,
"predicted_RBI": 1.6662,
"predicted_SLG": 0.5198,
"predicted_SO": 0.9797
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0324,
"after": 0.0324,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0027,
"after": 0.0027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3794,
"after": 4.3794,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2265,
"after": 0.2215,
"delta": -0.005,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0479,
"after": 0.0476,
"delta": -0.0003,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.991,
"after": 0.9701,
"delta": -0.0209,
"percent_delta": -0.0211,
"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.4343,
"after": 0.4228,
"delta": -0.0115,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2365,
"after": 0.2299,
"delta": -0.0066,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9109,
"after": 0.8782,
"delta": -0.0327,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.7282,
"after": 1.6662,
"delta": -0.062,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5303,
"after": 0.5198,
"delta": -0.0105,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9737,
"after": 0.9797,
"delta": 0.006,
"percent_delta": 0.0062,
"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.7282,
"after": 1.6662,
"delta": -0.062,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.50), rates preserved: AVG=0.216 HR/AB=0.094",
"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.0324,
"after": 0.0,
"delta": -0.0324,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0027,
"after": 0.0,
"delta": -0.0027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3794,
"after": 4.0,
"delta": -0.3794,
"percent_delta": -0.0866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0476,
"after": 0.0,
"delta": -0.0476,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9701,
"after": 1.0,
"delta": 0.0299,
"percent_delta": 0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.4228,
"after": 0.0,
"delta": -0.4228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6662,
"after": 1.0,
"delta": -0.6662,
"percent_delta": -0.3998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9797,
"after": 1.0,
"delta": 0.0203,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.6662,
"after": 1.0,
"delta": -0.6662,
"percent_delta": -0.3998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.8782,
"after": 1.0,
"delta": 0.1218,
"percent_delta": 0.1387,
"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.8782,
"after": 1.0,
"delta": 0.1218,
"percent_delta": 0.1387,
"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": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 4.0,
"predicted_AVG": 0.216,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.229,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.553,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2215,
"after": 0.216,
"delta": -0.0055,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2299,
"after": 0.229,
"delta": -0.0009,
"percent_delta": -0.0039,
"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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5198,
"after": 0.553,
"delta": 0.0332,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.5198,
"after": 0.553,
"delta": 0.0332,
"percent_delta": 0.0639,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2215,
"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.2299,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5198,
"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.216,
"after": 0.2215,
"delta": 0.0055,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2299,
"delta": 0.0009,
"percent_delta": 0.0039,
"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.553,
"after": 0.5198,
"delta": -0.0332,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2215,
"delta": 0.0055,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.553,
"after": 0.5198,
"delta": -0.0332,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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.5,
"after": 4.0,
"delta": -0.5,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2215,
"delta": -0.0005,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.222,
"after": 0.2299,
"delta": 0.0079,
"percent_delta": 0.0356,
"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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.5198,
"delta": -0.0362,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.500 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.500 | - |
| predicted_OBP | 0.222 | - |
| predicted_R | 1.000 | - |
| predicted_RBI | 2.000 | - |
| predicted_SLG | 0.556 | - |
| 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.032 | 0.032 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.379 | -0.121 |
| predicted_AVG | 0.227 | 0.005 |
| predicted_BB | 0.048 | 0.048 |
| predicted_H | 0.991 | -0.009 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.434 | -0.066 |
| predicted_OBP | 0.236 | 0.014 |
| predicted_R | 0.911 | -0.089 |
| predicted_RBI | 1.728 | -0.272 |
| predicted_SLG | 0.530 | -0.026 |
| predicted_SO | 0.974 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.032 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.379 | 0.000 |
| predicted_AVG | 0.222 | -0.005 |
| predicted_BB | 0.048 | -0.000 |
| predicted_H | 0.970 | -0.021 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.423 | -0.012 |
| predicted_OBP | 0.230 | -0.007 |
| predicted_R | 0.878 | -0.033 |
| predicted_RBI | 1.666 | -0.062 |
| predicted_SLG | 0.520 | -0.010 |
| predicted_SO | 0.980 | 0.006 |
AB rounded to 4 (raw=4.50), rates preserved: AVG=0.216 HR/AB=0.094
| 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 | 2.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.032 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | -0.379 |
| predicted_AVG | 0.216 | -0.006 |
| predicted_BB | 0.000 | -0.048 |
| predicted_H | 1.000 | 0.030 |
| predicted_HR | 0.000 | -0.423 |
| predicted_OBP | 0.229 | -0.001 |
| predicted_R | 1.000 | 0.122 |
| predicted_RBI | 1.000 | -0.666 |
| predicted_SLG | 0.553 | 0.033 |
| predicted_SO | 1.000 | 0.020 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 9.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.2222 | 0.2222 | 0.5556 | 0.2222 | 0.1111 | 0.4444 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 2 | - | 9.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.2222 | 0.2222 | 0.5556 | 0.2222 | 0.1111 | 0.4444 | 0.0000 | 0.2222 |
| season | 0.60 | 2 | - | 9.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.2222 | 0.2222 | 0.5556 | 0.2222 | 0.1111 | 0.4444 | 0.0000 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.9640 |
| predicted_AVG | 0.2421 |
| predicted_BB | 0.2130 |
| predicted_H | 0.9600 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.2080 |
| predicted_OBP | 0.2864 |
| predicted_R | 0.6040 |
| predicted_RBI | 0.7920 |
| predicted_SLG | 0.4416 |
| predicted_SO | 0.8830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1440 | 0.0324 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0027 | model_form_blend |
| predicted_AB | 4.5000 | 3.9640 | 4.3794 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2421 | 0.2265 | model_form_blend |
| predicted_BB | 0.0000 | 0.2130 | 0.0479 | model_form_blend |
| predicted_H | 1.0000 | 0.9600 | 0.9910 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.5000 | 0.2080 | 0.4343 | model_form_blend |
| predicted_OBP | 0.2220 | 0.2864 | 0.2365 | model_form_blend |
| predicted_R | 1.0000 | 0.6040 | 0.9109 | model_form_blend |
| predicted_RBI | 2.0000 | 0.7920 | 1.7282 | model_form_blend |
| predicted_SLG | 0.5560 | 0.4416 | 0.5303 | model_form_blend |
| predicted_SO | 1.0000 | 0.8830 | 0.9737 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 699024 |
| playerID | 699024 |
| playerName | Leonardo Bernal |
| pos | C |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.327 |
| sl_xwoba | 0.304 |
| sl_xba | 0.221 |
| sl_xslg | 0.508 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 95.3 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.067 | 0.000 | 0.000 | Hitting_2B | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 2.933 | 4.000 | 3.000 | Hitting_AB | 3.022 | 4.000 | 0.978 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.333 | Hitting_AVG | 0.205 | 0.500 | -0.205 | -0.500 |
| predicted_BB | 0.233 | 0.000 | 0.000 | Hitting_BB | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.620 | 2.000 | -0.620 | -2.000 |
| predicted_HR | 0.133 | 0.000 | 0.000 | Hitting_HR | 0.054 | 1.000 | -0.054 | -1.000 |
| predicted_OBP | 0.295 | 0.000 | 0.333 | Hitting_OBP | 0.260 | 0.500 | -0.260 | -0.500 |
| predicted_R | 0.467 | 0.000 | 1.000 | Hitting_R | 0.380 | 2.000 | -0.380 | -2.000 |
| predicted_RBI | 0.333 | 0.000 | 0.000 | Hitting_RBI | 0.207 | 3.000 | -0.207 | -3.000 |
| predicted_SLG | 0.420 | 0.000 | 0.333 | Hitting_SLG | 0.320 | 1.250 | -0.320 | -1.250 |
| predicted_SO | 0.933 | 2.000 | 1.000 | Hitting_SO | 1.022 | 1.000 | 0.978 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9330 -> 4.0000 (boost 1.0670, better) |
| Biggest Deboost | predicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 7 | 0 | predicted_H: 0.7000 -> 0.8152 (boost 0.1152, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5031 -> 0.4952 (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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7980 -> 1.0000 (boost 0.2020, better) | predicted_RBI: 0.4259 -> 0.0000 (deboost -0.4259, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.266 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5305 -> 1.0000 (boost 0.4695, 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 | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.3205 -> 0.3260 (boost 0.0055, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3260 -> 0.3205 (deboost -0.0055, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695336",
"player_name": "Thomas Saggese",
"position": "SS",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.067,
"predicted_3B": 0.033,
"predicted_AB": 2.933,
"predicted_AVG": 0.239,
"predicted_BB": 0.233,
"predicted_H": 0.7,
"predicted_HR": 0.133,
"predicted_OBP": 0.295,
"predicted_R": 0.467,
"predicted_RBI": 0.333,
"predicted_SLG": 0.42,
"predicted_SO": 0.933
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.067,
"predicted_3B": 0.0463,
"predicted_AB": 2.9965,
"predicted_AVG": 0.2712,
"predicted_BB": 0.2406,
"predicted_H": 0.8152,
"predicted_HBP": 0.006,
"predicted_HR": 0.1802,
"predicted_OBP": 0.3228,
"predicted_R": 0.5503,
"predicted_RBI": 0.4418,
"predicted_SLG": 0.5031,
"predicted_SO": 0.9022
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0463,
"delta": 0.0133,
"percent_delta": 0.403,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.933,
"after": 2.9965,
"delta": 0.0635,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2712,
"delta": 0.0322,
"percent_delta": 0.1347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.2406,
"delta": 0.0076,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.8152,
"delta": 0.1152,
"percent_delta": 0.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.133,
"after": 0.1802,
"delta": 0.0472,
"percent_delta": 0.3549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3228,
"delta": 0.0278,
"percent_delta": 0.0942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.5503,
"delta": 0.0833,
"percent_delta": 0.1784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.333,
"after": 0.4418,
"delta": 0.1088,
"percent_delta": 0.3267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.5031,
"delta": 0.0831,
"percent_delta": 0.1979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.933,
"after": 0.9022,
"delta": -0.0308,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.8152,
"delta": 0.1152,
"percent_delta": 0.1646,
"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": 30
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.067,
"predicted_3B": 0.0463,
"predicted_AB": 2.9965,
"predicted_AVG": 0.2663,
"predicted_BB": 0.2391,
"predicted_H": 0.798,
"predicted_HBP": 0.006,
"predicted_HR": 0.1754,
"predicted_OBP": 0.3205,
"predicted_R": 0.5305,
"predicted_RBI": 0.4259,
"predicted_SLG": 0.4952,
"predicted_SO": 0.9078
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0463,
"after": 0.0463,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9965,
"after": 2.9965,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2712,
"after": 0.2663,
"delta": -0.0049,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2406,
"after": 0.2391,
"delta": -0.0015,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8152,
"after": 0.798,
"delta": -0.0172,
"percent_delta": -0.0211,
"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.1802,
"after": 0.1754,
"delta": -0.0048,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.3205,
"delta": -0.0023,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5503,
"after": 0.5305,
"delta": -0.0198,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4418,
"after": 0.4259,
"delta": -0.0159,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5031,
"after": 0.4952,
"delta": -0.0079,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9022,
"after": 0.9078,
"delta": 0.0056,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5031,
"after": 0.4952,
"delta": -0.0079,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.266 HR/AB=0.059",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0463,
"after": 0.0,
"delta": -0.0463,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9965,
"after": 3.0,
"delta": 0.0035,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2391,
"after": 0.0,
"delta": -0.2391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.798,
"after": 1.0,
"delta": 0.202,
"percent_delta": 0.2531,
"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.1754,
"after": 0.0,
"delta": -0.1754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4259,
"after": 0.0,
"delta": -0.4259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9078,
"after": 1.0,
"delta": 0.0922,
"percent_delta": 0.1016,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.798,
"after": 1.0,
"delta": 0.202,
"percent_delta": 0.2531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4259,
"after": 0.0,
"delta": -0.4259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5305,
"after": 1.0,
"delta": 0.4695,
"percent_delta": 0.885,
"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.5305,
"after": 1.0,
"delta": 0.4695,
"percent_delta": 0.885,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 3.0,
"predicted_AVG": 0.266,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.326,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.495,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2663,
"after": 0.266,
"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.3205,
"after": 0.326,
"delta": 0.0055,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4952,
"after": 0.495,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3205,
"after": 0.326,
"delta": 0.0055,
"percent_delta": 0.0172,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2663,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3205,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4952,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2663,
"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.326,
"after": 0.3205,
"delta": -0.0055,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4952,
"delta": 0.0002,
"percent_delta": 0.0004,
"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.326,
"after": 0.3205,
"delta": -0.0055,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.933,
"after": 4.0,
"delta": 1.067,
"percent_delta": 0.3638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2663,
"delta": 0.0273,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3205,
"delta": 0.0255,
"percent_delta": 0.0864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4952,
"delta": 0.0752,
"percent_delta": 0.179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.933,
"after": 2.0,
"delta": 1.067,
"percent_delta": 1.1436,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.933,
"after": 4.0,
"delta": 1.067,
"percent_delta": 0.3638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 2.933 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.233 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.133 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.467 | - |
| predicted_RBI | 0.333 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.933 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | 0.000 |
| predicted_3B | 0.046 | 0.013 |
| predicted_AB | 2.997 | 0.064 |
| predicted_AVG | 0.271 | 0.032 |
| predicted_BB | 0.241 | 0.008 |
| predicted_H | 0.815 | 0.115 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.180 | 0.047 |
| predicted_OBP | 0.323 | 0.028 |
| predicted_R | 0.550 | 0.083 |
| predicted_RBI | 0.442 | 0.109 |
| predicted_SLG | 0.503 | 0.083 |
| predicted_SO | 0.902 | -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.067 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 2.997 | 0.000 |
| predicted_AVG | 0.266 | -0.005 |
| predicted_BB | 0.239 | -0.002 |
| predicted_H | 0.798 | -0.017 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.175 | -0.005 |
| predicted_OBP | 0.321 | -0.002 |
| predicted_R | 0.530 | -0.020 |
| predicted_RBI | 0.426 | -0.016 |
| predicted_SLG | 0.495 | -0.008 |
| predicted_SO | 0.908 | 0.006 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.266 HR/AB=0.059
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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 | 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.067 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 3.000 | 0.003 |
| predicted_AVG | 0.266 | -0.000 |
| predicted_BB | 0.000 | -0.239 |
| predicted_H | 1.000 | 0.202 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.326 | 0.006 |
| predicted_R | 1.000 | 0.470 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.495 | -0.000 |
| predicted_SO | 1.000 | 0.092 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 9.000 | 0.000 | 1.000 | 3.000 | 7.000 | 7.000 | 1.000 | 4.000 | 0.5625 | 0.5625 | 1.2500 | 0.5625 | 0.1875 | 0.4375 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 24.000 | 11.000 | 0.000 | 1.000 | 4.000 | 8.000 | 8.000 | 3.000 | 6.000 | 0.4583 | 0.5000 | 1.0417 | 0.4583 | 0.1667 | 0.3333 | 0.1250 | 0.2500 |
| season | 0.60 | 30 | - | 88.000 | 21.000 | 2.000 | 1.000 | 4.000 | 10.000 | 14.000 | 7.000 | 28.000 | 0.2386 | 0.2917 | 0.4205 | 0.2386 | 0.0454 | 0.1136 | 0.0795 | 0.3182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0670 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.1000 |
| predicted_AVG | 0.3237 |
| predicted_BB | 0.2530 |
| predicted_H | 1.0030 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.2570 |
| predicted_OBP | 0.3680 |
| predicted_R | 0.6860 |
| predicted_RBI | 0.6190 |
| predicted_SLG | 0.6384 |
| predicted_SO | 0.8520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0670 | 0.0670 | 0.0670 | model_form_blend |
| predicted_3B | 0.0330 | 0.0680 | 0.0463 | model_form_blend |
| predicted_AB | 2.9330 | 3.1000 | 2.9965 | model_form_blend |
| predicted_AVG | 0.2390 | 0.3237 | 0.2712 | model_form_blend |
| predicted_BB | 0.2330 | 0.2530 | 0.2406 | model_form_blend |
| predicted_H | 0.7000 | 1.0030 | 0.8152 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1330 | 0.2570 | 0.1802 | model_form_blend |
| predicted_OBP | 0.2950 | 0.3680 | 0.3228 | model_form_blend |
| predicted_R | 0.4670 | 0.6860 | 0.5503 | model_form_blend |
| predicted_RBI | 0.3330 | 0.6190 | 0.4418 | model_form_blend |
| predicted_SLG | 0.4200 | 0.6384 | 0.5031 | model_form_blend |
| predicted_SO | 0.9330 | 0.8520 | 0.9022 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 92 |
| Season rows before report date | 92 |
| Report year | 2026 |
| Profile rows used | 30 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| 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 | 20260902_STL@LAD |
| game_type | full |
| mlbID | 695336 |
| playerID | 695336 |
| playerName | Thomas Saggese |
| pos | LF |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.312 |
| sl_xba | 0.231 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 53.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.226 | 0.000 | 0.000 | Hitting_2B | 0.254 | 1.000 | -0.254 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.420 | 5.000 | 5.000 | Hitting_AB | 3.978 | 5.000 | 1.022 | 0.000 |
| predicted_AVG | 0.263 | 0.200 | 0.200 | Hitting_AVG | 0.302 | 0.200 | -0.102 | 0.000 |
| predicted_BB | 0.323 | 0.000 | 0.000 | Hitting_BB | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 1.430 | 1.000 | 1.000 | Hitting_H | 1.200 | 1.000 | -0.200 | 0.000 |
| predicted_HR | 0.260 | 1.000 | 0.000 | Hitting_HR | 0.211 | 0.000 | 0.789 | 1.000 |
| predicted_OBP | 0.330 | 0.200 | 0.200 | Hitting_OBP | 0.360 | 0.200 | -0.160 | 0.000 |
| predicted_R | 0.654 | 1.000 | 1.000 | Hitting_R | 0.680 | 1.000 | 0.320 | 0.000 |
| predicted_RBI | 0.760 | 1.000 | 1.000 | Hitting_RBI | 0.776 | 0.000 | 0.224 | 1.000 |
| predicted_SLG | 0.500 | 0.800 | 0.200 | Hitting_SLG | 0.525 | 0.400 | 0.275 | 0.400 |
| predicted_SO | 1.060 | 2.000 | 1.000 | Hitting_SO | 1.061 | 3.000 | 0.939 | -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: 1.0600 -> 2.0000 (boost 0.9400, worse) |
| Biggest Deboost | predicted_H: 1.4300 -> 1.0000 (deboost -0.4300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 3 | 4 | 2 | 5 | predicted_SO: 1.0600 -> 1.1249 (boost 0.0649, worse) | predicted_AB: 5.4200 -> 4.8144 (deboost -0.6056, worse) | Final model input calibrated with local 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.4935 -> 0.4531 (deboost -0.0404, 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.6517 -> 1.0000 (boost 0.3483, better) | predicted_H: 1.2839 -> 1.0000 (deboost -0.2839, worse) | AB rounded to 5 (raw=5.42), rates preserved: AVG=0.237 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6792 -> 1.0000 (boost 0.3208, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 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.4531 -> 0.4100 (deboost -0.0431, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_HR: 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.4100 -> 0.4531 (boost 0.0431, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.0,
"predicted_AB": 5.42,
"predicted_AVG": 0.263,
"predicted_BB": 0.323,
"predicted_H": 1.43,
"predicted_HR": 0.26,
"predicted_OBP": 0.33,
"predicted_R": 0.654,
"predicted_RBI": 0.76,
"predicted_SLG": 0.5,
"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.2443,
"predicted_3B": 0.0004,
"predicted_AB": 4.8144,
"predicted_AVG": 0.2737,
"predicted_BB": 0.2795,
"predicted_H": 1.3116,
"predicted_HBP": 0.019,
"predicted_HR": 0.2234,
"predicted_OBP": 0.3284,
"predicted_R": 0.7045,
"predicted_RBI": 0.676,
"predicted_SLG": 0.4935,
"predicted_SO": 1.1249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2443,
"delta": 0.0183,
"percent_delta": 0.081,
"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": 5.42,
"after": 4.8144,
"delta": -0.6056,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2737,
"delta": 0.0107,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.2795,
"delta": -0.0435,
"percent_delta": -0.1347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.3116,
"delta": -0.1184,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2234,
"delta": -0.0366,
"percent_delta": -0.1408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3284,
"delta": -0.0016,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 0.7045,
"delta": 0.0505,
"percent_delta": 0.0772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.676,
"delta": -0.084,
"percent_delta": -0.1105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4935,
"delta": -0.0065,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 1.1249,
"delta": 0.0649,
"percent_delta": 0.0612,
"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": 1.06,
"after": 1.1249,
"delta": 0.0649,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.42,
"after": 4.8144,
"delta": -0.6056,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 133
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2443,
"predicted_3B": 0.0004,
"predicted_AB": 4.8144,
"predicted_AVG": 0.2667,
"predicted_BB": 0.2778,
"predicted_H": 1.2839,
"predicted_HBP": 0.019,
"predicted_HR": 0.2175,
"predicted_OBP": 0.3067,
"predicted_R": 0.6792,
"predicted_RBI": 0.6517,
"predicted_SLG": 0.4531,
"predicted_SO": 1.1319
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2443,
"after": 0.2443,
"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.8144,
"after": 4.8144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2737,
"after": 0.2667,
"delta": -0.007,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2795,
"after": 0.2778,
"delta": -0.0017,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3116,
"after": 1.2839,
"delta": -0.0277,
"percent_delta": -0.0211,
"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.2234,
"after": 0.2175,
"delta": -0.0059,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3284,
"after": 0.3067,
"delta": -0.0217,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7045,
"after": 0.6792,
"delta": -0.0253,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.676,
"after": 0.6517,
"delta": -0.0243,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4935,
"after": 0.4531,
"delta": -0.0404,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1249,
"after": 1.1319,
"delta": 0.007,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4935,
"after": 0.4531,
"delta": -0.0404,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.42), rates preserved: AVG=0.237 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2443,
"after": 0.0,
"delta": -0.2443,
"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.8144,
"after": 5.0,
"delta": 0.1856,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2839,
"after": 1.0,
"delta": -0.2839,
"percent_delta": -0.2211,
"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.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1319,
"after": 1.0,
"delta": -0.1319,
"percent_delta": -0.1165,
"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.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2839,
"after": 1.0,
"delta": -0.2839,
"percent_delta": -0.2211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6792,
"after": 1.0,
"delta": 0.3208,
"percent_delta": 0.4723,
"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.6792,
"after": 1.0,
"delta": 0.3208,
"percent_delta": 0.4723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.237,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.28,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 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.2667,
"after": 0.237,
"delta": -0.0297,
"percent_delta": -0.1114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3067,
"after": 0.28,
"delta": -0.0267,
"percent_delta": -0.0871,
"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.4531,
"after": 0.41,
"delta": -0.0431,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4531,
"after": 0.41,
"delta": -0.0431,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 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.2667,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3067,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4531,
"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.237,
"after": 0.2667,
"delta": 0.0297,
"percent_delta": 0.1253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.28,
"after": 0.3067,
"delta": 0.0267,
"percent_delta": 0.0953,
"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.41,
"after": 0.4531,
"delta": 0.0431,
"percent_delta": 0.1052,
"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.41,
"after": 0.4531,
"delta": 0.0431,
"percent_delta": 0.1052,
"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.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.42,
"after": 5.0,
"delta": -0.42,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2667,
"delta": 0.0037,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.0,
"delta": -0.43,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3067,
"delta": -0.0233,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.654,
"after": 1.0,
"delta": 0.346,
"percent_delta": 0.5291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4531,
"delta": -0.0469,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"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": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.43,
"after": 1.0,
"delta": -0.43,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.420 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.323 | - |
| predicted_H | 1.430 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.654 | - |
| predicted_RBI | 0.760 | - |
| predicted_SLG | 0.500 | - |
| 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.244 | 0.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.814 | -0.606 |
| predicted_AVG | 0.274 | 0.011 |
| predicted_BB | 0.280 | -0.043 |
| predicted_H | 1.312 | -0.118 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.223 | -0.037 |
| predicted_OBP | 0.328 | -0.002 |
| predicted_R | 0.705 | 0.050 |
| predicted_RBI | 0.676 | -0.084 |
| predicted_SLG | 0.493 | -0.007 |
| predicted_SO | 1.125 | 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.244 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.814 | 0.000 |
| predicted_AVG | 0.267 | -0.007 |
| predicted_BB | 0.278 | -0.002 |
| predicted_H | 1.284 | -0.028 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.217 | -0.006 |
| predicted_OBP | 0.307 | -0.022 |
| predicted_R | 0.679 | -0.025 |
| predicted_RBI | 0.652 | -0.024 |
| predicted_SLG | 0.453 | -0.040 |
| predicted_SO | 1.132 | 0.007 |
AB rounded to 5 (raw=5.42), rates preserved: AVG=0.237 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.244 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.186 |
| predicted_AVG | 0.237 | -0.030 |
| predicted_BB | 0.000 | -0.278 |
| predicted_H | 1.000 | -0.284 |
| predicted_HR | 0.000 | -0.217 |
| predicted_OBP | 0.280 | -0.027 |
| predicted_R | 1.000 | 0.321 |
| predicted_RBI | 1.000 | 0.348 |
| predicted_SLG | 0.410 | -0.043 |
| predicted_SO | 1.000 | -0.132 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 2.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.000 | 8.000 | 0.3182 | 0.3182 | 0.5455 | 0.3182 | 0.0454 | 0.0909 | 0.0000 | 0.3636 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 3.000 | 0.000 | 1.000 | 3.000 | 8.000 | 1.000 | 14.000 | 0.2683 | 0.2857 | 0.4146 | 0.2683 | 0.0244 | 0.0732 | 0.0244 | 0.3415 |
| season | 0.60 | 133 | - | 519.000 | 149.000 | 30.000 | 0.000 | 26.000 | 94.000 | 87.000 | 43.000 | 141.000 | 0.2871 | 0.3445 | 0.4952 | 0.2871 | 0.0501 | 0.1811 | 0.0828 | 0.2717 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0290 |
| predicted_AVG | 0.2875 |
| predicted_BB | 0.2230 |
| predicted_H | 1.1580 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3264 |
| predicted_R | 0.7700 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.4850 |
| predicted_SO | 1.2090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.2680 | 0.2443 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.4200 | 4.0290 | 4.8144 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2875 | 0.2737 | model_form_blend |
| predicted_BB | 0.3230 | 0.2230 | 0.2795 | model_form_blend |
| predicted_H | 1.4300 | 1.1580 | 1.3116 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.2600 | 0.1760 | 0.2234 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3264 | 0.3284 | model_form_blend |
| predicted_R | 0.6540 | 0.7700 | 0.7045 | model_form_blend |
| predicted_RBI | 0.7600 | 0.5670 | 0.6760 | model_form_blend |
| predicted_SLG | 0.5000 | 0.4850 | 0.4935 | model_form_blend |
| predicted_SO | 1.0600 | 1.2090 | 1.1249 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 540 |
| Season rows before report date | 540 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.366 |
| sl_xwoba | 0.353 |
| sl_xba | 0.273 |
| sl_xslg | 0.485 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 52.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.830 | 5.000 | 5.000 | Hitting_AB | 3.818 | 4.000 | 1.182 | 1.000 |
| predicted_AVG | 0.206 | 0.200 | 0.200 | Hitting_AVG | 0.247 | 0.000 | -0.047 | 0.200 |
| predicted_BB | 0.471 | 0.000 | 1.000 | Hitting_BB | 0.471 | 1.000 | -0.471 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 1.000 | 1.000 | Hitting_H | 0.945 | 0.000 | 0.055 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | 0.886 | 1.000 |
| predicted_OBP | 0.339 | 0.200 | 0.333 | Hitting_OBP | 0.362 | 0.200 | -0.162 | 0.000 |
| predicted_R | 0.588 | 1.000 | 1.000 | Hitting_R | 0.646 | 0.000 | 0.354 | 1.000 |
| predicted_RBI | 0.510 | 1.000 | 0.000 | Hitting_RBI | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_SLG | 0.358 | 0.800 | 0.200 | Hitting_SLG | 0.385 | 0.000 | 0.415 | 0.800 |
| predicted_SO | 0.831 | 3.000 | 1.000 | Hitting_SO | 0.821 | 0.000 | 2.179 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 0.8310 -> 3.0000 (boost 2.1690, worse) |
| Biggest Deboost | predicted_BB: 0.4710 -> 0.0000 (deboost -0.4710, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2060 -> 0.2173 (boost 0.0113, better) | predicted_AB: 4.8300 -> 4.3903 (deboost -0.4397, worse) | Final model input calibrated with local 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.3388 -> 0.2892 (deboost -0.0496, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_AB: 4.3903 -> 5.0000 (boost 0.6097, better) | predicted_RBI: 0.4538 -> 0.0000 (deboost -0.4538, worse) | AB rounded to 5 (raw=4.83), rates preserved: AVG=0.192 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5277 -> 1.0000 (boost 0.4723, 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.3018 -> 0.2820 (deboost -0.0198, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 2 | 2 | predicted_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.2820 -> 0.3018 (boost 0.0198, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "DH",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 4.83,
"predicted_AVG": 0.206,
"predicted_BB": 0.471,
"predicted_H": 0.99,
"predicted_HR": 0.09,
"predicted_OBP": 0.339,
"predicted_R": 0.588,
"predicted_RBI": 0.51,
"predicted_SLG": 0.358,
"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.1716,
"predicted_3B": 0.0004,
"predicted_AB": 4.3903,
"predicted_AVG": 0.2173,
"predicted_BB": 0.488,
"predicted_H": 0.9451,
"predicted_HBP": 0.117,
"predicted_HR": 0.0778,
"predicted_OBP": 0.3388,
"predicted_R": 0.5474,
"predicted_RBI": 0.4707,
"predicted_SLG": 0.3433,
"predicted_SO": 0.8114
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1716,
"delta": -0.0044,
"percent_delta": -0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.83,
"after": 4.3903,
"delta": -0.4397,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.2173,
"delta": 0.0113,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.488,
"delta": 0.017,
"percent_delta": 0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9451,
"delta": -0.0449,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0778,
"delta": -0.0122,
"percent_delta": -0.1356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3388,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.5474,
"delta": -0.0406,
"percent_delta": -0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4707,
"delta": -0.0393,
"percent_delta": -0.0771,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3433,
"delta": -0.0147,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 0.8114,
"delta": -0.0196,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_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.206,
"after": 0.2173,
"delta": 0.0113,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.83,
"after": 4.3903,
"delta": -0.4397,
"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": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1716,
"predicted_3B": 0.0004,
"predicted_AB": 4.3903,
"predicted_AVG": 0.2107,
"predicted_BB": 0.485,
"predicted_H": 0.9252,
"predicted_HBP": 0.117,
"predicted_HR": 0.0757,
"predicted_OBP": 0.2892,
"predicted_R": 0.5277,
"predicted_RBI": 0.4538,
"predicted_SLG": 0.3018,
"predicted_SO": 0.8164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1716,
"after": 0.1716,
"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.3903,
"after": 4.3903,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2173,
"after": 0.2107,
"delta": -0.0066,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.485,
"delta": -0.003,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9451,
"after": 0.9252,
"delta": -0.0199,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0778,
"after": 0.0757,
"delta": -0.0021,
"percent_delta": -0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3388,
"after": 0.2892,
"delta": -0.0496,
"percent_delta": -0.1464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5474,
"after": 0.5277,
"delta": -0.0197,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4707,
"after": 0.4538,
"delta": -0.0169,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3433,
"after": 0.3018,
"delta": -0.0415,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8114,
"after": 0.8164,
"delta": 0.005,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3388,
"after": 0.2892,
"delta": -0.0496,
"percent_delta": -0.1464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.83), rates preserved: AVG=0.192 HR/AB=0.016",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1716,
"after": 0.0,
"delta": -0.1716,
"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.3903,
"after": 5.0,
"delta": 0.6097,
"percent_delta": 0.1389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9252,
"after": 1.0,
"delta": 0.0748,
"percent_delta": 0.0808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0757,
"after": 0.0,
"delta": -0.0757,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4538,
"after": 0.0,
"delta": -0.4538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8164,
"after": 1.0,
"delta": 0.1836,
"percent_delta": 0.2249,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3903,
"after": 5.0,
"delta": 0.6097,
"percent_delta": 0.1389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4538,
"after": 0.0,
"delta": -0.4538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.5277,
"after": 1.0,
"delta": 0.4723,
"percent_delta": 0.895,
"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.5277,
"after": 1.0,
"delta": 0.4723,
"percent_delta": 0.895,
"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": 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": 5.0,
"predicted_AVG": 0.192,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.282,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2107,
"after": 0.192,
"delta": -0.0187,
"percent_delta": -0.0888,
"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.2892,
"after": 0.271,
"delta": -0.0182,
"percent_delta": -0.0629,
"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.3018,
"after": 0.282,
"delta": -0.0198,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3018,
"after": 0.282,
"delta": -0.0198,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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.2107,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2892,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3018,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.192,
"after": 0.2107,
"delta": 0.0187,
"percent_delta": 0.0975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.271,
"after": 0.2892,
"delta": 0.0182,
"percent_delta": 0.0673,
"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.282,
"after": 0.3018,
"delta": 0.0198,
"percent_delta": 0.0701,
"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.282,
"after": 0.3018,
"delta": 0.0198,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.83,
"after": 5.0,
"delta": 0.17,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.2107,
"delta": 0.0047,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.2892,
"delta": -0.0498,
"percent_delta": -0.1469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 1.0,
"delta": 0.412,
"percent_delta": 0.7007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3018,
"delta": -0.0562,
"percent_delta": -0.157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 3.0,
"delta": 2.169,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.831,
"after": 3.0,
"delta": 2.169,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.830 | - |
| predicted_AVG | 0.206 | - |
| predicted_BB | 0.471 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.588 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.358 | - |
| 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.172 | -0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.390 | -0.440 |
| predicted_AVG | 0.217 | 0.011 |
| predicted_BB | 0.488 | 0.017 |
| predicted_H | 0.945 | -0.045 |
| predicted_HBP | 0.117 | - |
| predicted_HR | 0.078 | -0.012 |
| predicted_OBP | 0.339 | -0.000 |
| predicted_R | 0.547 | -0.041 |
| predicted_RBI | 0.471 | -0.039 |
| predicted_SLG | 0.343 | -0.015 |
| predicted_SO | 0.811 | -0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.390 | 0.000 |
| predicted_AVG | 0.211 | -0.007 |
| predicted_BB | 0.485 | -0.003 |
| predicted_H | 0.925 | -0.020 |
| predicted_HBP | 0.117 | 0.000 |
| predicted_HR | 0.076 | -0.002 |
| predicted_OBP | 0.289 | -0.050 |
| predicted_R | 0.528 | -0.020 |
| predicted_RBI | 0.454 | -0.017 |
| predicted_SLG | 0.302 | -0.041 |
| predicted_SO | 0.816 | 0.005 |
AB rounded to 5 (raw=4.83), rates preserved: AVG=0.192 HR/AB=0.016
| 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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 | 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 | 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.172 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.610 |
| predicted_AVG | 0.192 | -0.019 |
| predicted_BB | 1.000 | 0.515 |
| predicted_H | 1.000 | 0.075 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.271 | -0.018 |
| predicted_R | 1.000 | 0.472 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.282 | -0.020 |
| 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 | 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 | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 2.000 | 0.2000 | 0.3043 | 0.2500 | 0.2000 | 0.0000 | 0.1500 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 6.000 | 10.000 | 0.2368 | 0.3409 | 0.2632 | 0.2368 | 0.0000 | 0.0790 | 0.1579 | 0.2632 |
| season | 0.60 | 136 | - | 513.000 | 123.000 | 24.000 | 0.000 | 13.000 | 54.000 | 80.000 | 64.000 | 113.000 | 0.2398 | 0.3520 | 0.3626 | 0.2398 | 0.0253 | 0.1053 | 0.1248 | 0.2203 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8220 |
| predicted_AVG | 0.2320 |
| predicted_BB | 0.5100 |
| predicted_H | 0.8870 |
| predicted_HBP | 0.1170 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3386 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.4200 |
| predicted_SLG | 0.3243 |
| predicted_SO | 0.7860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1660 | 0.1716 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8300 | 3.8220 | 4.3903 | model_form_blend |
| predicted_AVG | 0.2060 | 0.2320 | 0.2173 | model_form_blend |
| predicted_BB | 0.4710 | 0.5100 | 0.4880 | model_form_blend |
| predicted_H | 0.9900 | 0.8870 | 0.9451 | model_form_blend |
| predicted_HBP | - | 0.1170 | 0.1170 | form_only |
| predicted_HR | 0.0900 | 0.0620 | 0.0778 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3386 | 0.3388 | model_form_blend |
| predicted_R | 0.5880 | 0.4950 | 0.5474 | model_form_blend |
| predicted_RBI | 0.5100 | 0.4200 | 0.4707 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3243 | 0.3433 | model_form_blend |
| predicted_SO | 0.8310 | 0.7860 | 0.8114 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 577 |
| Season rows before report date | 577 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 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 | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.33 |
| sl_xwoba | 0.331 |
| sl_xba | 0.248 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.815 | 3.000 | 3.000 | Hitting_AB | 2.825 | 1.000 | 0.175 | 2.000 |
| predicted_AVG | 0.209 | 0.333 | 0.000 | Hitting_AVG | 0.168 | 0.000 | 0.165 | 0.333 |
| predicted_BB | 0.296 | 1.000 | 1.000 | Hitting_BB | 0.287 | 0.000 | 0.713 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.150 | 1.000 | 0.000 | Hitting_H | 0.475 | 0.000 | 0.525 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.253 | 0.500 | 0.250 | Hitting_OBP | 0.267 | 0.000 | 0.233 | 0.500 |
| predicted_R | 0.481 | 0.000 | 0.000 | Hitting_R | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_SLG | 0.404 | 0.333 | 0.000 | Hitting_SLG | 0.341 | 0.000 | -0.007 | 0.333 |
| predicted_SO | 0.593 | 1.000 | 1.000 | Hitting_SO | 0.588 | 0.000 | 0.412 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_R: 0.4810 -> 0.0000 (deboost -0.4810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.1500 -> 0.2910 (boost 0.1410, better) | predicted_AVG: 0.2090 -> 0.1993 (deboost -0.0097, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4175 -> 0.2650 (deboost -0.1525, 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.6292 -> 1.0000 (boost 0.3708, worse) | predicted_BB: 0.3218 -> 0.0000 (deboost -0.3218, worse) | AB rounded to 3 (raw=2.84), rates preserved: AVG=0.100 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4992 -> 0.0000 (deboost -0.4992, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.1004 -> 0.1200 (boost 0.0196, better) | predicted_BB: 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 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.1200 -> 0.1004 (deboost -0.0196, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "602104",
"player_name": "Ramón Urías",
"position": "3B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.0,
"predicted_AB": 2.815,
"predicted_AVG": 0.209,
"predicted_BB": 0.296,
"predicted_H": 0.15,
"predicted_HR": 0.07,
"predicted_OBP": 0.253,
"predicted_R": 0.481,
"predicted_RBI": 0.12,
"predicted_SLG": 0.404,
"predicted_SO": 0.593
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1012,
"predicted_3B": 0.0011,
"predicted_AB": 2.836,
"predicted_AVG": 0.1993,
"predicted_BB": 0.3238,
"predicted_H": 0.291,
"predicted_HBP": 0.059,
"predicted_HR": 0.1244,
"predicted_OBP": 0.2658,
"predicted_R": 0.5178,
"predicted_RBI": 0.2295,
"predicted_SLG": 0.4175,
"predicted_SO": 0.6253
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1012,
"delta": -0.0098,
"percent_delta": -0.0883,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.815,
"after": 2.836,
"delta": 0.021,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.1993,
"delta": -0.0097,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.3238,
"delta": 0.0278,
"percent_delta": 0.0939,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.291,
"delta": 0.141,
"percent_delta": 0.94,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1244,
"delta": 0.0544,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2658,
"delta": 0.0128,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.5178,
"delta": 0.0368,
"percent_delta": 0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.2295,
"delta": 0.1095,
"percent_delta": 0.9125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4175,
"delta": 0.0135,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 0.6253,
"delta": 0.0323,
"percent_delta": 0.0545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.15,
"after": 0.291,
"delta": 0.141,
"percent_delta": 0.94,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.1993,
"delta": -0.0097,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1012,
"predicted_3B": 0.0011,
"predicted_AB": 2.836,
"predicted_AVG": 0.1004,
"predicted_BB": 0.3218,
"predicted_H": 0.2849,
"predicted_HBP": 0.059,
"predicted_HR": 0.1211,
"predicted_OBP": 0.1921,
"predicted_R": 0.4992,
"predicted_RBI": 0.2213,
"predicted_SLG": 0.265,
"predicted_SO": 0.6292
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1012,
"after": 0.1012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.836,
"after": 2.836,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1993,
"after": 0.1004,
"delta": -0.0989,
"percent_delta": -0.4962,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3238,
"after": 0.3218,
"delta": -0.002,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.291,
"after": 0.2849,
"delta": -0.0061,
"percent_delta": -0.021,
"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.1244,
"after": 0.1211,
"delta": -0.0033,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2658,
"after": 0.1921,
"delta": -0.0737,
"percent_delta": -0.2773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5178,
"after": 0.4992,
"delta": -0.0186,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2295,
"after": 0.2213,
"delta": -0.0082,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4175,
"after": 0.265,
"delta": -0.1525,
"percent_delta": -0.3653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6253,
"after": 0.6292,
"delta": 0.0039,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4175,
"after": 0.265,
"delta": -0.1525,
"percent_delta": -0.3653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.84), rates preserved: AVG=0.100 HR/AB=0.043",
"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.1012,
"after": 0.0,
"delta": -0.1012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.836,
"after": 3.0,
"delta": 0.164,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3218,
"after": 0.0,
"delta": -0.3218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2849,
"after": 0.0,
"delta": -0.2849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.1211,
"after": 0.0,
"delta": -0.1211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2213,
"after": 0.0,
"delta": -0.2213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6292,
"after": 1.0,
"delta": 0.3708,
"percent_delta": 0.5893,
"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.6292,
"after": 1.0,
"delta": 0.3708,
"percent_delta": 0.5893,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3218,
"after": 0.0,
"delta": -0.3218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8553,
"bvp": 0.1447
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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.4992,
"after": 0.0,
"delta": -0.4992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4992,
"after": 0.0,
"delta": -0.4992,
"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": 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": 3.0,
"after": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.12,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.21,
"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.1004,
"after": 0.12,
"delta": 0.0196,
"percent_delta": 0.1952,
"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_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1921,
"after": 0.21,
"delta": 0.0179,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.265,
"after": 0.273,
"delta": 0.008,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_AVG",
"before": 0.1004,
"after": 0.12,
"delta": 0.0196,
"percent_delta": 0.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.1004,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1921,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.265,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.12,
"after": 0.1004,
"delta": -0.0196,
"percent_delta": -0.163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.21,
"after": 0.1921,
"delta": -0.0179,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.265,
"delta": -0.008,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.12,
"after": 0.1004,
"delta": -0.0196,
"percent_delta": -0.163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.815,
"after": 3.0,
"delta": 0.185,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.1004,
"delta": -0.1086,
"percent_delta": -0.5196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 1.0,
"delta": 0.704,
"percent_delta": 2.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"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.253,
"after": 0.1921,
"delta": -0.0609,
"percent_delta": -0.2407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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.404,
"after": 0.265,
"delta": -0.139,
"percent_delta": -0.3441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 1.0,
"delta": 0.407,
"percent_delta": 0.6863,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.815 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.296 | - |
| predicted_H | 0.150 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.253 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.593 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | -0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.836 | 0.021 |
| predicted_AVG | 0.199 | -0.010 |
| predicted_BB | 0.324 | 0.028 |
| predicted_H | 0.291 | 0.141 |
| predicted_HBP | 0.059 | - |
| predicted_HR | 0.124 | 0.054 |
| predicted_OBP | 0.266 | 0.013 |
| predicted_R | 0.518 | 0.037 |
| predicted_RBI | 0.230 | 0.110 |
| predicted_SLG | 0.417 | 0.013 |
| predicted_SO | 0.625 | 0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.836 | 0.000 |
| predicted_AVG | 0.100 | -0.099 |
| predicted_BB | 0.322 | -0.002 |
| predicted_H | 0.285 | -0.006 |
| predicted_HBP | 0.059 | 0.000 |
| predicted_HR | 0.121 | -0.003 |
| predicted_OBP | 0.192 | -0.074 |
| predicted_R | 0.499 | -0.019 |
| predicted_RBI | 0.221 | -0.008 |
| predicted_SLG | 0.265 | -0.152 |
| predicted_SO | 0.629 | 0.004 |
AB rounded to 3 (raw=2.84), rates preserved: AVG=0.100 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 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 | 1.000 | 1.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.101 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.164 |
| predicted_AVG | 0.120 | 0.020 |
| predicted_BB | 0.000 | -0.322 |
| predicted_H | 0.000 | -0.285 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.210 | 0.018 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 0.000 | -0.221 |
| predicted_SLG | 0.273 | 0.008 |
| predicted_SO | 1.000 | 0.371 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 3.000 | 4.000 | 0.2000 | 0.3846 | 0.8000 | 0.2000 | 0.2000 | 0.3000 | 0.3000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 23.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 3.000 | 4.000 | 0.1304 | 0.2593 | 0.3913 | 0.1304 | 0.0870 | 0.1304 | 0.1304 | 0.1739 |
| season | 0.60 | 27 | - | 76.000 | 12.000 | 3.000 | 0.000 | 4.000 | 8.000 | 13.000 | 8.000 | 16.000 | 0.1579 | 0.2529 | 0.3553 | 0.1579 | 0.0526 | 0.1053 | 0.1053 | 0.2105 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.8710 |
| predicted_AVG | 0.1832 |
| predicted_BB | 0.3700 |
| predicted_H | 0.5260 |
| predicted_HBP | 0.0590 |
| predicted_HR | 0.2150 |
| predicted_OBP | 0.2870 |
| predicted_R | 0.5790 |
| predicted_RBI | 0.4120 |
| predicted_SLG | 0.4401 |
| predicted_SO | 0.6790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0850 | 0.1012 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.8150 | 2.8710 | 2.8360 | model_form_blend |
| predicted_AVG | 0.2090 | 0.1832 | 0.1993 | model_form_blend |
| predicted_BB | 0.2960 | 0.3700 | 0.3238 | model_form_blend |
| predicted_H | 0.1500 | 0.5260 | 0.2910 | model_form_blend |
| predicted_HBP | - | 0.0590 | 0.0590 | form_only |
| predicted_HR | 0.0700 | 0.2150 | 0.1244 | model_form_blend |
| predicted_OBP | 0.2530 | 0.2870 | 0.2658 | model_form_blend |
| predicted_R | 0.4810 | 0.5790 | 0.5178 | model_form_blend |
| predicted_RBI | 0.1200 | 0.4120 | 0.2295 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4401 | 0.4175 | model_form_blend |
| predicted_SO | 0.5930 | 0.6790 | 0.6253 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 80 |
| Season rows before report date | 80 |
| Report year | 2026 |
| Profile rows used | 27 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 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 | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20260902_STL@LAD |
| game_type | ph |
| mlbID | 602104 |
| note | Popped out for Gorman in the 9th. |
| playerID | 602104 |
| playerName | Ramón Urías |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.285 |
| sl_xwoba | 0.316 |
| sl_xba | 0.191 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 39.3 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 0.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.670 | 4.000 | 4.000 | Hitting_AB | 3.442 | 4.000 | 0.558 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.250 | Hitting_AVG | 0.245 | 0.500 | -0.245 | -0.500 |
| predicted_BB | 0.196 | 0.000 | 0.000 | Hitting_BB | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.940 | 0.000 | 1.000 | Hitting_H | 0.843 | 2.000 | -0.843 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.250 | Hitting_OBP | 0.288 | 0.500 | -0.288 | -0.500 |
| predicted_R | 0.430 | 0.000 | 0.000 | Hitting_R | 0.447 | 2.000 | -0.447 | -2.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_SLG | 0.362 | 0.000 | 0.250 | Hitting_SLG | 0.377 | 0.500 | -0.377 | -0.500 |
| predicted_SO | 0.645 | 0.000 | 1.000 | Hitting_SO | 0.678 | 0.000 | -0.678 | 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.6700 -> 4.0000 (boost 0.3300, better) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 3.6700 -> 3.5971 (deboost -0.0729, worse) | Final model input calibrated with local 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.3622 -> 0.3541 (deboost -0.0081, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.5960 -> 1.0000 (boost 0.4040, worse) | predicted_RBI: 0.4325 -> 0.0000 (deboost -0.4325, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.243 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4418 -> 0.0000 (deboost -0.4418, 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 | 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 | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3470 -> 0.3541 (boost 0.0071, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701675",
"player_name": "Nathan Church",
"position": "CF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.019,
"predicted_AB": 3.67,
"predicted_AVG": 0.257,
"predicted_BB": 0.196,
"predicted_H": 0.94,
"predicted_HR": 0.08,
"predicted_OBP": 0.298,
"predicted_R": 0.43,
"predicted_RBI": 0.44,
"predicted_SLG": 0.362,
"predicted_SO": 0.645
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0974,
"predicted_3B": 0.0237,
"predicted_AB": 3.5971,
"predicted_AVG": 0.2539,
"predicted_BB": 0.1844,
"predicted_H": 0.9117,
"predicted_HBP": 0.013,
"predicted_HR": 0.0809,
"predicted_OBP": 0.2914,
"predicted_R": 0.4583,
"predicted_RBI": 0.4486,
"predicted_SLG": 0.3622,
"predicted_SO": 0.5923
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0974,
"delta": -0.0056,
"percent_delta": -0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0237,
"delta": 0.0047,
"percent_delta": 0.2474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.67,
"after": 3.5971,
"delta": -0.0729,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2539,
"delta": -0.0031,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.1844,
"delta": -0.0116,
"percent_delta": -0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9117,
"delta": -0.0283,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0809,
"delta": 0.0009,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2914,
"delta": -0.0066,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.43,
"after": 0.4583,
"delta": 0.0283,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4486,
"delta": 0.0086,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3622,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 0.5923,
"delta": -0.0527,
"percent_delta": -0.0817,
"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": 3.67,
"after": 3.5971,
"delta": -0.0729,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 107
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0974,
"predicted_3B": 0.0237,
"predicted_AB": 3.5971,
"predicted_AVG": 0.2481,
"predicted_BB": 0.1833,
"predicted_H": 0.8925,
"predicted_HBP": 0.013,
"predicted_HR": 0.0788,
"predicted_OBP": 0.2846,
"predicted_R": 0.4418,
"predicted_RBI": 0.4325,
"predicted_SLG": 0.3541,
"predicted_SO": 0.596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0974,
"after": 0.0974,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0237,
"after": 0.0237,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5971,
"after": 3.5971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2539,
"after": 0.2481,
"delta": -0.0058,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1844,
"after": 0.1833,
"delta": -0.0011,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9117,
"after": 0.8925,
"delta": -0.0192,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0788,
"delta": -0.0021,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.2846,
"delta": -0.0068,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4583,
"after": 0.4418,
"delta": -0.0165,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4486,
"after": 0.4325,
"delta": -0.0161,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3622,
"after": 0.3541,
"delta": -0.0081,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5923,
"after": 0.596,
"delta": 0.0037,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3622,
"after": 0.3541,
"delta": -0.0081,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.243 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.0974,
"after": 0.0,
"delta": -0.0974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0237,
"after": 0.0,
"delta": -0.0237,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5971,
"after": 4.0,
"delta": 0.4029,
"percent_delta": 0.112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1833,
"after": 0.0,
"delta": -0.1833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8925,
"after": 1.0,
"delta": 0.1075,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0788,
"after": 0.0,
"delta": -0.0788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.596,
"after": 1.0,
"delta": 0.404,
"percent_delta": 0.6779,
"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.596,
"after": 1.0,
"delta": 0.404,
"percent_delta": 0.6779,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4418,
"after": 0.0,
"delta": -0.4418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4418,
"after": 0.0,
"delta": -0.4418,
"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": 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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2481,
"after": 0.243,
"delta": -0.0051,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2846,
"after": 0.285,
"delta": 0.0004,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.347,
"delta": -0.0071,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2481,
"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.2846,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3541,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2481,
"delta": 0.0051,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2846,
"delta": -0.0004,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3541,
"delta": 0.0071,
"percent_delta": 0.0203,
"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.347,
"after": 0.3541,
"delta": 0.0071,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.67,
"after": 4.0,
"delta": 0.33,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2481,
"delta": -0.0089,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"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.2846,
"delta": -0.0134,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3541,
"delta": -0.0079,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 0.0,
"delta": -0.645,
"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.67,
"after": 4.0,
"delta": 0.33,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.103 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.670 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.430 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.645 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.097 | -0.006 |
| predicted_3B | 0.024 | 0.005 |
| predicted_AB | 3.597 | -0.073 |
| predicted_AVG | 0.254 | -0.003 |
| predicted_BB | 0.184 | -0.012 |
| predicted_H | 0.912 | -0.028 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.081 | 0.001 |
| predicted_OBP | 0.291 | -0.007 |
| predicted_R | 0.458 | 0.028 |
| predicted_RBI | 0.449 | 0.009 |
| predicted_SLG | 0.362 | 0.000 |
| predicted_SO | 0.592 | -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.097 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.597 | 0.000 |
| predicted_AVG | 0.248 | -0.006 |
| predicted_BB | 0.183 | -0.001 |
| predicted_H | 0.892 | -0.019 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.079 | -0.002 |
| predicted_OBP | 0.285 | -0.007 |
| predicted_R | 0.442 | -0.016 |
| predicted_RBI | 0.432 | -0.016 |
| predicted_SLG | 0.354 | -0.008 |
| predicted_SO | 0.596 | 0.004 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.243 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.097 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.403 |
| predicted_AVG | 0.243 | -0.005 |
| predicted_BB | 0.000 | -0.183 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.285 | 0.000 |
| predicted_R | 0.000 | -0.442 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.347 | -0.007 |
| predicted_SO | 1.000 | 0.404 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 1.000 | 0.2105 | 0.2105 | 0.2105 | 0.2105 | 0.0000 | 0.1053 | 0.0000 | 0.0526 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 1.000 | 1.000 | 6.000 | 6.000 | 2.000 | 3.000 | 0.3056 | 0.3333 | 0.4722 | 0.3056 | 0.0278 | 0.1667 | 0.0556 | 0.0833 |
| season | 0.60 | 107 | - | 356.000 | 87.000 | 11.000 | 2.000 | 10.000 | 46.000 | 46.000 | 21.000 | 69.000 | 0.2444 | 0.2865 | 0.3708 | 0.2444 | 0.0281 | 0.1292 | 0.0590 | 0.1938 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0300 |
| predicted_AB | 3.5000 |
| predicted_AVG | 0.2497 |
| predicted_BB | 0.1690 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.2825 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.4600 |
| predicted_SLG | 0.3625 |
| predicted_SO | 0.5220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.0900 | 0.0974 | model_form_blend |
| predicted_3B | 0.0190 | 0.0300 | 0.0237 | model_form_blend |
| predicted_AB | 3.6700 | 3.5000 | 3.5971 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2497 | 0.2539 | model_form_blend |
| predicted_BB | 0.1960 | 0.1690 | 0.1844 | model_form_blend |
| predicted_H | 0.9400 | 0.8740 | 0.9117 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0800 | 0.0820 | 0.0809 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2825 | 0.2914 | model_form_blend |
| predicted_R | 0.4300 | 0.4960 | 0.4583 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4600 | 0.4486 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3625 | 0.3622 | model_form_blend |
| predicted_SO | 0.6450 | 0.5220 | 0.5923 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 369 |
| Season rows before report date | 369 |
| Report year | 2026 |
| Profile rows used | 107 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 701675 |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.286 |
| sl_xwoba | 0.285 |
| sl_xba | 0.242 |
| sl_xslg | 0.361 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 56.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.102 | 0.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.966 | 4.000 | 3.000 | Hitting_AB | 2.995 | 4.000 | 1.005 | 0.000 |
| predicted_AVG | 0.240 | 0.250 | 0.000 | Hitting_AVG | 0.225 | 0.000 | 0.025 | 0.250 |
| predicted_BB | 0.169 | 0.000 | 0.000 | Hitting_BB | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.570 | 1.000 | 0.000 | Hitting_H | 0.675 | 0.000 | 0.325 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.000 | Hitting_OBP | 0.268 | 0.000 | -0.018 | 0.250 |
| predicted_R | 0.220 | 1.000 | 0.000 | Hitting_R | 0.257 | 0.000 | 0.743 | 1.000 |
| predicted_RBI | 0.140 | 1.000 | 0.000 | Hitting_RBI | 0.218 | 0.000 | 0.782 | 1.000 |
| predicted_SLG | 0.291 | 0.250 | 0.000 | Hitting_SLG | 0.340 | 0.000 | -0.090 | 0.250 |
| predicted_SO | 0.864 | 2.000 | 1.000 | Hitting_SO | 0.864 | 2.000 | 1.136 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.8640 -> 2.0000 (boost 1.1360, worse) |
| Biggest Deboost | predicted_BB: 0.1690 -> 0.0000 (deboost -0.1690, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 2.9660 -> 3.0250 (boost 0.0590, better) | predicted_AVG: 0.2400 -> 0.2328 (deboost -0.0072, worse) | Final model input calibrated with local 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.2885 -> 0.2517 (deboost -0.0368, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.6069 -> 1.0000 (boost 0.3931, better) | predicted_BB: 0.2066 -> 0.0000 (deboost -0.2066, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.201 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1947 -> 0.0000 (deboost -0.1947, 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 | 4 | 4 | 0 | 3 | 1 | predicted_AB: 3.0000 -> 4.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.2820 -> 0.2746 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686780",
"player_name": "Pedro Pagés",
"position": "C",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.102,
"predicted_3B": 0.0,
"predicted_AB": 2.966,
"predicted_AVG": 0.24,
"predicted_BB": 0.169,
"predicted_H": 0.57,
"predicted_HR": 0.04,
"predicted_OBP": 0.29,
"predicted_R": 0.22,
"predicted_RBI": 0.14,
"predicted_SLG": 0.291,
"predicted_SO": 0.864
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0909,
"predicted_3B": 0.0008,
"predicted_AB": 3.025,
"predicted_AVG": 0.2328,
"predicted_BB": 0.2079,
"predicted_H": 0.62,
"predicted_HBP": 0.022,
"predicted_HR": 0.0449,
"predicted_OBP": 0.2885,
"predicted_R": 0.202,
"predicted_RBI": 0.1461,
"predicted_SLG": 0.2937,
"predicted_SO": 0.871
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0909,
"delta": -0.0111,
"percent_delta": -0.1088,
"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.966,
"after": 3.025,
"delta": 0.059,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2328,
"delta": -0.0072,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.2079,
"delta": 0.0389,
"percent_delta": 0.2302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.62,
"delta": 0.05,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0449,
"delta": 0.0049,
"percent_delta": 0.1225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2885,
"delta": -0.0015,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.22,
"after": 0.202,
"delta": -0.018,
"percent_delta": -0.0818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.1461,
"delta": 0.0061,
"percent_delta": 0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.291,
"after": 0.2937,
"delta": 0.0027,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 0.871,
"delta": 0.007,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.966,
"after": 3.025,
"delta": 0.059,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2328,
"delta": -0.0072,
"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": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0909,
"predicted_3B": 0.0008,
"predicted_AB": 3.025,
"predicted_AVG": 0.2006,
"predicted_BB": 0.2066,
"predicted_H": 0.6069,
"predicted_HBP": 0.022,
"predicted_HR": 0.0437,
"predicted_OBP": 0.2517,
"predicted_R": 0.1947,
"predicted_RBI": 0.1409,
"predicted_SLG": 0.2746,
"predicted_SO": 0.8764
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0909,
"after": 0.0909,
"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.025,
"after": 3.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2328,
"after": 0.2006,
"delta": -0.0322,
"percent_delta": -0.1383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2079,
"after": 0.2066,
"delta": -0.0013,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6069,
"delta": -0.0131,
"percent_delta": -0.0211,
"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.0449,
"after": 0.0437,
"delta": -0.0012,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2885,
"after": 0.2517,
"delta": -0.0368,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.202,
"after": 0.1947,
"delta": -0.0073,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1461,
"after": 0.1409,
"delta": -0.0052,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2937,
"after": 0.2746,
"delta": -0.0191,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 0.8764,
"delta": 0.0054,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2885,
"after": 0.2517,
"delta": -0.0368,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.201 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0909,
"after": 0.0,
"delta": -0.0909,
"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.025,
"after": 3.0,
"delta": -0.025,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2066,
"after": 0.0,
"delta": -0.2066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6069,
"after": 1.0,
"delta": 0.3931,
"percent_delta": 0.6477,
"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.0437,
"after": 0.0,
"delta": -0.0437,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1409,
"after": 0.0,
"delta": -0.1409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8764,
"after": 1.0,
"delta": 0.1236,
"percent_delta": 0.141,
"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.6069,
"after": 1.0,
"delta": 0.3931,
"percent_delta": 0.6477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2066,
"after": 0.0,
"delta": -0.2066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.1947,
"after": 0.0,
"delta": -0.1947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1947,
"after": 0.0,
"delta": -0.1947,
"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.201,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.258,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.282,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2006,
"after": 0.201,
"delta": 0.0004,
"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": 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.2517,
"after": 0.258,
"delta": 0.0063,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2746,
"after": 0.282,
"delta": 0.0074,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2006,
"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.2517,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2746,
"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.201,
"after": 0.2006,
"delta": -0.0004,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2517,
"delta": -0.0063,
"percent_delta": -0.0243,
"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.282,
"after": 0.2746,
"delta": -0.0074,
"percent_delta": -0.0264,
"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.282,
"after": 0.2746,
"delta": -0.0074,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.966,
"after": 4.0,
"delta": 1.034,
"percent_delta": 0.3486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2006,
"delta": -0.0394,
"percent_delta": -0.1642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2517,
"delta": -0.0383,
"percent_delta": -0.1321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.291,
"after": 0.2746,
"delta": -0.0164,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 2.0,
"delta": 1.136,
"percent_delta": 1.3148,
"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.864,
"after": 2.0,
"delta": 1.136,
"percent_delta": 1.3148,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.966 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.169 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.220 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.291 | - |
| predicted_SO | 0.864 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | -0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.025 | 0.059 |
| predicted_AVG | 0.233 | -0.007 |
| predicted_BB | 0.208 | 0.039 |
| predicted_H | 0.620 | 0.050 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.045 | 0.005 |
| predicted_OBP | 0.288 | -0.002 |
| predicted_R | 0.202 | -0.018 |
| predicted_RBI | 0.146 | 0.006 |
| predicted_SLG | 0.294 | 0.003 |
| predicted_SO | 0.871 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.025 | 0.000 |
| predicted_AVG | 0.201 | -0.032 |
| predicted_BB | 0.207 | -0.001 |
| predicted_H | 0.607 | -0.013 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.044 | -0.001 |
| predicted_OBP | 0.252 | -0.037 |
| predicted_R | 0.195 | -0.007 |
| predicted_RBI | 0.141 | -0.005 |
| predicted_SLG | 0.275 | -0.019 |
| predicted_SO | 0.876 | 0.005 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.201 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.091 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.025 |
| predicted_AVG | 0.201 | 0.000 |
| predicted_BB | 0.000 | -0.207 |
| predicted_H | 1.000 | 0.393 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.258 | 0.006 |
| predicted_R | 0.000 | -0.195 |
| predicted_RBI | 0.000 | -0.141 |
| predicted_SLG | 0.282 | 0.007 |
| predicted_SO | 1.000 | 0.124 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 0.2353 | 0.3158 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 27.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 8.000 | 0.2222 | 0.3226 | 0.2222 | 0.2222 | 0.0000 | 0.0000 | 0.1482 | 0.2963 |
| season | 0.60 | 59 | - | 175.000 | 37.000 | 6.000 | 0.000 | 4.000 | 11.000 | 13.000 | 10.000 | 51.000 | 0.2114 | 0.2593 | 0.3143 | 0.2114 | 0.0229 | 0.0629 | 0.0571 | 0.2914 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1100 |
| predicted_AVG | 0.2224 |
| predicted_BB | 0.2640 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.2863 |
| predicted_R | 0.1760 |
| predicted_RBI | 0.1550 |
| predicted_SLG | 0.2975 |
| predicted_SO | 0.8810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1020 | 0.0750 | 0.0909 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9660 | 3.1100 | 3.0250 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2224 | 0.2328 | model_form_blend |
| predicted_BB | 0.1690 | 0.2640 | 0.2079 | model_form_blend |
| predicted_H | 0.5700 | 0.6920 | 0.6200 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0400 | 0.0520 | 0.0449 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2863 | 0.2885 | model_form_blend |
| predicted_R | 0.2200 | 0.1760 | 0.2020 | model_form_blend |
| predicted_RBI | 0.1400 | 0.1550 | 0.1461 | model_form_blend |
| predicted_SLG | 0.2910 | 0.2975 | 0.2937 | model_form_blend |
| predicted_SO | 0.8640 | 0.8810 | 0.8710 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 59 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 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 | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260827_BAL@STL |
| game_type | full |
| mlbID | 686780 |
| playerID | 686780 |
| playerName | Pedro Pagés |
| pos | C |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-08-27 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.255 |
| sl_xwoba | 0.268 |
| sl_xba | 0.217 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 50.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.000 | 1.000 | -1.000 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.750 | 1.000 | 0.250 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.750 | 5.000 | 0.250 | 1.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.800 | 5.200 | -0.600 | -1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 5.000 | 7.000 | -2.000 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687273",
"player_name": "Quinn Mathews",
"position": "Starter",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 3.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.800 |
| predicted_SO | 3.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 4 | 19.200 | 11.000 | 23.000 | 8.000 | 20.000 | 1.000 | 5.0339 | 1.5763 | 0.5593 | 1.1695 | 0.4068 | 1.0170 | 0.0508 |
| last_10 | 0.35 | 4 | 19.200 | 11.000 | 23.000 | 8.000 | 20.000 | 1.000 | 5.0339 | 1.5763 | 0.5593 | 1.1695 | 0.4068 | 1.0170 | 0.0508 |
| season | 0.20 | 4 | 19.200 | 11.000 | 23.000 | 8.000 | 20.000 | 1.000 | 5.0339 | 1.5763 | 0.5593 | 1.1695 | 0.4068 | 1.0170 | 0.0508 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9330 |
| predicted_ER | 2.6250 |
| predicted_ERA | 4.7252 |
| predicted_H | 5.3020 |
| predicted_HR | 0.5200 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.8680 |
| predicted_WHIP | 1.4470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.9330 | 1.3874 | model_form_blend |
| predicted_ER | 3.0000 | 2.6250 | 2.8443 | model_form_blend |
| predicted_ERA | - | 4.7252 | 4.7252 | form_only |
| predicted_H | 6.0000 | 5.3020 | 5.7101 | model_form_blend |
| predicted_HR | 0.0000 | 0.5200 | 0.2159 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 3.0000 | 4.8680 | 3.7757 | model_form_blend |
| predicted_WHIP | - | 1.4470 | 1.4470 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 21 |
| Pitches | 91 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 1 |
| Pitching_ERA | 5.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 5 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 102 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_PIT@STL |
| game_type | full |
| mlbID | 687273 |
| playerID | 687273 |
| playerName | Quinn Mathews |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-08-28 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.327 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 78.209634667 |
| sl_avg_hyper_speed | 93.315020169 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.419 | 0.000 | -0.419 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.419 | 0.000 | 0.581 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.081 | 1.000 | -0.081 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.915 | 1.000 | 0.085 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.742 | 1.000 | -0.742 | -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": "677865",
"player_name": "Justin Bruihl",
"position": "Middle Reliever (High Leverage)",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 2.000 | 5.000 | 2.000 | 4.000 | 0.000 | 3.0000 | 1.1667 | 0.3333 | 0.8333 | 0.3333 | 0.6667 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 4.000 | 10.000 | 5.000 | 7.000 | 0.000 | 3.0857 | 1.2857 | 0.3429 | 0.8571 | 0.4286 | 0.6000 | 0.0000 |
| season | 0.20 | 61 | 67.200 | 26.000 | 66.000 | 26.000 | 46.000 | 3.000 | 3.4581 | 1.3596 | 0.3842 | 0.9754 | 0.3842 | 0.6798 | 0.0443 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4480 |
| predicted_ER | 0.4630 |
| predicted_ERA | 3.4863 |
| predicted_H | 1.0730 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.8660 |
| predicted_WHIP | 1.2729 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4480 | 0.2403 | model_form_blend |
| predicted_ER | 1.0000 | 0.4630 | 0.7119 | model_form_blend |
| predicted_ERA | - | 3.4863 | 3.4863 | form_only |
| predicted_H | 1.0000 | 1.0730 | 1.0392 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0295 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8660 | 0.4646 | model_form_blend |
| predicted_WHIP | - | 1.2729 | 1.2729 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 61 |
| 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 | 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.46 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 677865 |
| playerID | 677865 |
| playerName | Justin Bruihl |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.312 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 35.6 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 45.2 |
| sl_avg_best_speed | 74.509276729 |
| sl_avg_hyper_speed | 93.376592817 |
| 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.404 | 0.000 | 1.596 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.772 | 0.000 | -0.772 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.932 | 1.000 | 0.268 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.965 | 1.000 | 1.035 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676617",
"player_name": "Riley O'Brien",
"position": "Closer",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 7.000 | 9.000 | 3.000 | 2.000 | 1.000 | 15.7500 | 3.0000 | 1.7500 | 2.2500 | 0.7500 | 0.5000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.000 | 7.000 | 9.000 | 3.000 | 7.000 | 1.000 | 7.0000 | 1.3333 | 0.7778 | 1.0000 | 0.3333 | 0.7778 | 0.1111 |
| season | 0.20 | 57 | 55.200 | 24.000 | 44.000 | 23.000 | 55.000 | 3.000 | 3.8802 | 1.2036 | 0.4311 | 0.7904 | 0.4132 | 0.9880 | 0.0539 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4350 |
| predicted_ER | 0.8480 |
| predicted_ERA | 8.5110 |
| predicted_H | 1.2110 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6900 |
| predicted_WHIP | 1.8369 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.4350 | 1.1870 | model_form_blend |
| predicted_ER | 0.0000 | 0.8480 | 0.4405 | model_form_blend |
| predicted_ERA | - | 8.5110 | 8.5110 | form_only |
| predicted_H | 0.0000 | 1.2110 | 0.6291 | model_form_blend |
| predicted_HR | 0.0000 | 0.1410 | 0.0732 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6900 | 1.3195 | model_form_blend |
| predicted_WHIP | - | 1.8369 | 1.8369 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 57 |
| Season rows before report date | 57 |
| 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 2 |
| HR | 0 |
| BF | 7 |
| 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 | 3.88 |
| 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 | 17 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 8 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.29 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 41.3 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 77.238864932 |
| sl_avg_hyper_speed | 94.495836552 |
| 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.459 | 0.000 | 0.541 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.787 | 2.000 | -0.787 | -2.000 |
| predicted_IP | 0.200 | 1.100 | 0.200 | Pitching_InningsPitched | 0.761 | 1.000 | 0.339 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.934 | 1.000 | 1.066 | 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": "592773",
"player_name": "Ryne Stanek",
"position": "Middle Reliever (High Leverage)",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 2.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.6923 | 0.0000 | 0.4615 | 0.2308 | 1.1539 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 7.000 | 1.000 | 8.000 | 1.000 | 3.0000 | 0.8889 | 0.3333 | 0.7778 | 0.1111 | 0.8889 | 0.1111 |
| season | 0.20 | 60 | 54.100 | 25.000 | 47.000 | 27.000 | 57.000 | 9.000 | 4.1411 | 1.3620 | 0.4601 | 0.8650 | 0.4969 | 1.0491 | 0.1656 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2820 |
| predicted_ER | 0.2990 |
| predicted_ERA | 2.6949 |
| predicted_H | 0.7530 |
| predicted_HR | 0.0950 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0080 |
| predicted_WHIP | 1.0359 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2820 | 0.6286 | model_form_blend |
| predicted_ER | 0.0000 | 0.2990 | 0.1547 | model_form_blend |
| predicted_ERA | - | 2.6949 | 2.6949 | form_only |
| predicted_H | 0.0000 | 0.7530 | 0.3895 | model_form_blend |
| predicted_HR | 0.0000 | 0.0950 | 0.0491 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0080 | 1.4868 | model_form_blend |
| predicted_WHIP | - | 1.0359 | 1.0359 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 61 |
| Season rows before report date | 61 |
| 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 592773 |
| playerID | 592773 |
| playerName | Ryne Stanek |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.329 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 78.570300959 |
| sl_avg_hyper_speed | 94.319189724 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.468 | 2.000 | -0.468 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.823 | 3.000 | -0.823 | -3.000 |
| predicted_IP | 0.000 | 0.200 | 0.000 | Pitching_InningsPitched | 0.844 | 1.000 | -0.644 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.952 | 1.000 | -0.952 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666277",
"player_name": "George Soriano",
"position": "Setup Man",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 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 | 7.000 | 7.000 | 4.000 | 4.000 | 1.000 | 13.5000 | 2.3571 | 1.5000 | 1.5000 | 0.8571 | 0.8571 | 0.2143 |
| last_10 | 0.35 | 10 | 9.100 | 9.000 | 12.000 | 7.000 | 8.000 | 3.000 | 8.6786 | 2.0357 | 0.9643 | 1.2857 | 0.7500 | 0.8571 | 0.3214 |
| season | 0.20 | 62 | 60.000 | 29.000 | 51.000 | 27.000 | 59.000 | 10.000 | 4.3500 | 1.3000 | 0.4833 | 0.8500 | 0.4500 | 0.9833 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5070 |
| predicted_ER | 0.7480 |
| predicted_ERA | 8.3692 |
| predicted_H | 0.9660 |
| predicted_HR | 0.1720 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7230 |
| predicted_WHIP | 1.8311 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5070 | 0.2668 | model_form_blend |
| predicted_ER | 0.0000 | 0.7480 | 0.3936 | model_form_blend |
| predicted_ERA | - | 8.3692 | 8.3692 | form_only |
| predicted_H | 0.0000 | 0.9660 | 0.5083 | model_form_blend |
| predicted_HR | 0.0000 | 0.1720 | 0.0905 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7230 | 0.3804 | model_form_blend |
| predicted_WHIP | - | 1.8311 | 1.8311 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 62 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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.35 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-02 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.317 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 40.5 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 80.373689759 |
| sl_avg_hyper_speed | 94.395208133 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_IP | 0.000 | 0.200 | 0.000 | Pitching_InningsPitched | 1.500 | 1.000 | -1.300 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.500 | 1.000 | 0.500 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 4 | 4 | 0 | 2 | 2 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "685464",
"player_name": "Cade Winquest",
"position": "Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"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": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}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 | 2 | 3.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 3.0000 | 1.3333 | 0.3333 | 0.6667 | 0.6667 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 2 | 3.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 3.0000 | 1.3333 | 0.3333 | 0.6667 | 0.6667 | 1.0000 | 0.0000 |
| season | 0.20 | 2 | 3.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 3.0000 | 1.3333 | 0.3333 | 0.6667 | 0.6667 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1770 |
| predicted_ER | 0.2120 |
| predicted_ERA | 4.3192 |
| predicted_H | 0.4140 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.4170 |
| predicted_WHIP | 1.3425 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1770 | 0.0483 | model_form_blend |
| predicted_ER | 0.0000 | 0.2120 | 0.0579 | model_form_blend |
| predicted_ERA | - | 4.3192 | 4.3192 | form_only |
| predicted_H | 0.0000 | 0.4140 | 0.1130 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0158 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.4170 | 0.1138 | model_form_blend |
| predicted_WHIP | - | 1.3425 | 1.3425 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 2 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260901_STL@LAD |
| game_type | full |
| mlbID | 685464 |
| playerID | 685464 |
| playerName | Cade Winquest |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-09-01 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 15.4 |
| sl_woba | 0.244 |
| sl_xwoba | 0.239 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 25.0 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 80.1292075 |
| sl_avg_hyper_speed | 91.59030875 |
| Field | Value |
|---|---|
| Pitcher | Tarik Skubal |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7539 |
| ESPN Rank | 19 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1516 |
| Avg Velo | 92.5748 |
| Avg Spin | 2164.2998 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 7 |
| Season ERA | 2.8421 |
| Season WHIP | 0.9395 |
| Role Avg IP | 6.0320 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"opponent": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"edges": {
"quality_edge": 0.2119,
"offense_edge": 0.0948,
"opponent_offense_edge": 0.0027,
"defense_strength": 0.1613,
"opponent_defense_weakness": 0.0152,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9737,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669373",
"profile": {
"available": true,
"pitcher_id": "669373",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 444.0,
"k_percent": 30.9,
"bb_percent": 4.2,
"woba": 0.264,
"xwoba": 0.267,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 36.1,
"avg_best_speed": 75.2343,
"avg_hyper_speed": 93.5847,
"whiff_percent": 31.9,
"swing_percent": 53.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.802,
"command_and_miss": 1.1586,
"regression_edge": -0.0857,
"xwoba_edge": 1.2571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.9571,
"bb_edge": 1.225,
"pitch_design_score": 0.1516
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5748,
"release_spin_rate": 2164.2998,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0827,
"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.7539,
"sample_weight": 1.0,
"run_prevention_factor": 0.9359,
"strikeout_factor": 1.0897,
"walk_factor": 0.902,
"homer_factor": 0.9579,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669373",
"espn_id": 42409,
"player_name": "Tarik Skubal",
"team": "LAD",
"role": "pitcher",
"espn_rank": 19,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 19,
"gp_value": 21.0,
"gp_rank": 363,
"gs_value": 21.0,
"gs_rank": 89,
"qs_value": 13.0,
"qs_rank": 24,
"era_value": 2.8421,
"era_rank": null,
"w_value": 8.0,
"w_rank": 58,
"l_value": 7.0,
"l_rank": 79,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 126.2,
"ip_rank": 79,
"h_value": 98.0,
"h_rank": 112,
"er_value": 40.0,
"er_rank": 141,
"hr_value": 12.0,
"hr_rank": 126,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 153.0,
"k_rank": 24,
"k_per_9_value": 10.871053,
"k_per_9_rank": 8,
"whip_value": 0.9394,
"whip_rank": null,
"war_value": 3.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9359,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9359,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.902,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9579,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0897,
"adjusted": 8
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 61.0,
"ER": 17,
"H": 46,
"BB": 13,
"SO": 78,
"HR": 3,
"ERA": 2.5081967213114753,
"WHIP": 0.9672131147540983,
"K9": 11.508196721311476,
"HR9": 0.4426229508196721,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-28T00:00:00"
}{
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 92.57479172715446,
"release_spin_rate": 2164.2997542296353,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5748,
"release_spin_rate": 2164.2998,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0827,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669373",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 10.0,
"R": 11.0,
"H": 24.0,
"BB": 7.0,
"SO": 37.0,
"HR": 2.0,
"BF": 121.0,
"Pitches": 478.0
},
"per_game": {
"IP": 6.0,
"ER": 2.0,
"R": 2.2,
"H": 4.8,
"BB": 1.4,
"SO": 7.4,
"HR": 0.4,
"BF": 24.2,
"Pitches": 95.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.0333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.8,
"BB_per_IP": 0.23333,
"SO_per_IP": 1.23333,
"HR_per_IP": 0.06667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 17.0,
"R": 18.0,
"H": 46.0,
"BB": 13.0,
"SO": 78.0,
"HR": 3.0,
"BF": 241.0,
"Pitches": 937.0
},
"per_game": {
"IP": 6.0,
"ER": 1.7,
"R": 1.8,
"H": 4.6,
"BB": 1.3,
"SO": 7.8,
"HR": 0.3,
"BF": 24.1,
"Pitches": 93.7
},
"rates": {
"ERA": 2.5082,
"WHIP": 0.9672,
"ER_per_IP": 0.27869,
"H_per_IP": 0.7541,
"BB_per_IP": 0.21311,
"SO_per_IP": 1.27869,
"HR_per_IP": 0.04918
}
},
"season": {
"games": 21,
"totals": {
"IP": 126.2,
"ER": 40.0,
"R": 44.0,
"H": 98.0,
"BB": 21.0,
"SO": 153.0,
"HR": 12.0,
"BF": 495.0,
"Pitches": 1909.0
},
"per_game": {
"IP": 6.0,
"ER": 1.9048,
"R": 2.0952,
"H": 4.6667,
"BB": 1.0,
"SO": 7.2857,
"HR": 0.5714,
"BF": 23.5714,
"Pitches": 90.9048
},
"rates": {
"ERA": 2.8421,
"WHIP": 0.9395,
"ER_per_IP": 0.31579,
"H_per_IP": 0.77368,
"BB_per_IP": 0.16579,
"SO_per_IP": 1.20789,
"HR_per_IP": 0.09474
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.08,
"predicted_H": 4.896,
"predicted_BB": 1.459,
"predicted_SO": 7.113,
"predicted_HR": 0.49,
"predicted_ERA": 3.1197,
"predicted_WHIP": 1.0591
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.08,
"final": 1.183,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.896,
"final": 4.0784,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.459,
"final": 0.8298,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 7.113,
"final": 6.633,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.49,
"final": 0.2787,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1197,
"final": 3.1197,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0591,
"final": 1.0591,
"source": "form_only"
}
}
}{
"available": false,
"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.5063 |
| ESPN Rank | 307 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0751 |
| Avg Velo | 91.2086 |
| Avg Spin | 2358.8542 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 4 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 2.7000 |
| Season WHIP | 1 |
| Role Avg IP | 1 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"opponent": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"edges": {
"quality_edge": 0.2119,
"offense_edge": 0.0948,
"opponent_offense_edge": 0.0027,
"defense_strength": 0.1613,
"opponent_defense_weakness": 0.0152,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9737,
"strikeout": 1.0061
},
"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": 58.0,
"k_percent": 24.4,
"bb_percent": 10.3,
"woba": 0.241,
"xwoba": 0.23,
"sweet_spot_percent": 23.5,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 23.5,
"avg_best_speed": 66.9681,
"avg_hyper_speed": 92.0672,
"whiff_percent": 29.7,
"swing_percent": 48.8
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.7909,
"command_and_miss": 0.3257,
"regression_edge": 0.3143,
"xwoba_edge": 2.3143,
"barrel_edge": 0.7556,
"hard_hit_edge": 2.0429,
"whiff_edge": 0.6429,
"bb_edge": -0.3,
"pitch_design_score": 0.0751
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.20855439802854,
"release_spin_rate": 2358.8541913259155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.20855439802854,
"release_spin_rate": 2358.8541913259155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2086,
"release_spin_rate": 2358.8542,
"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.0751,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5362,
"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.5063,
"sample_weight": 0.45,
"run_prevention_factor": 0.957,
"strikeout_factor": 1.018,
"walk_factor": 1.0108,
"homer_factor": 0.9048,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592779",
"espn_id": 35997,
"player_name": "Brock Stewart",
"team": "LAD",
"role": "pitcher",
"espn_rank": 307,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 307,
"gp_value": 20.0,
"gp_rank": 382,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.7,
"era_rank": null,
"w_value": 0.0,
"w_rank": 521,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 7.0,
"hld_rank": 125,
"ip_value": 20.0,
"ip_rank": 502,
"h_value": 12.0,
"h_rank": 592,
"er_value": 6.0,
"er_rank": 616,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 8.0,
"bb_rank": 516,
"k_value": 19.0,
"k_rank": 486,
"k_per_9_value": 8.549999,
"k_per_9_rank": 26,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9807,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9572,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0081,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 3,
"H": 7,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 2.612903225806452,
"WHIP": 0.9677419354838711,
"K9": 7.838709677419356,
"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-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.20855439802854,
"release_spin_rate": 2358.8541913259155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.20855439802854,
"release_spin_rate": 2358.8541913259155,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2086,
"release_spin_rate": 2358.8542,
"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.0751,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5362,
"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": 4.02,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4457,
"prior_weight": 0.5543
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592779",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 3.0,
"SO": 3.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 55.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.2,
"BB": 0.6,
"SO": 0.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 11.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 2.0769,
"ER_per_IP": 0.46154,
"H_per_IP": 1.38462,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 128.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.9,
"Pitches": 12.8
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.9677,
"ER_per_IP": 0.29032,
"H_per_IP": 0.67742,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"season": {
"games": 20,
"totals": {
"IP": 20.0,
"ER": 6.0,
"R": 8.0,
"H": 12.0,
"BB": 8.0,
"SO": 19.0,
"HR": 2.0,
"BF": 78.0,
"Pitches": 283.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 0.95,
"HR": 0.1,
"BF": 3.9,
"Pitches": 14.15
},
"rates": {
"ERA": 2.7,
"WHIP": 1.0,
"ER_per_IP": 0.3,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 0.95,
"HR_per_IP": 0.1
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.44,
"predicted_H": 0.976,
"predicted_BB": 0.425,
"predicted_SO": 0.88,
"predicted_HR": 0.09,
"predicted_ERA": 3.9637,
"predicted_WHIP": 1.4014
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5842,
"form_weight": 0.4158,
"form_reliability": 0.4457,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.02,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4457,
"prior_weight": 0.5543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 0.44,
"final": 2.5197,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.976,
"final": 2.7426,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.425,
"final": 1.9293,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.88,
"final": 0.9501,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.09,
"final": 1.2058,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9637,
"final": 3.9637,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4014,
"final": 1.4014,
"source": "form_only"
}
}
}{
"available": false,
"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.8715 |
| ESPN Rank | 237 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 96.3303 |
| Avg Spin | 2583.2350 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7651 |
| Season WHIP | 0.9759 |
| Role Avg IP | 1.0060 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"opponent": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"edges": {
"quality_edge": 0.2119,
"offense_edge": 0.0948,
"opponent_offense_edge": 0.0027,
"defense_strength": 0.1613,
"opponent_defense_weakness": 0.0152,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9737,
"strikeout": 1.0061
},
"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": 197.0,
"k_percent": 28.6,
"bb_percent": 10.5,
"woba": 0.241,
"xwoba": 0.243,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 25.8,
"avg_best_speed": 71.4939,
"avg_hyper_speed": 92.1231,
"whiff_percent": 30.3,
"swing_percent": 49.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.6593,
"command_and_miss": 0.6157,
"regression_edge": -0.0571,
"xwoba_edge": 1.9429,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.7143,
"whiff_edge": 0.7286,
"bb_edge": -0.35,
"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": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 96.33031735716177,
"release_spin_rate": 2583.2350024597267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 96.33031735716177,
"release_spin_rate": 2583.2350024597267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3303,
"release_spin_rate": 2583.235,
"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.8715,
"sample_weight": 0.788,
"run_prevention_factor": 0.9259,
"strikeout_factor": 1.0531,
"walk_factor": 1.0221,
"homer_factor": 0.83,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683618",
"espn_id": 5194684,
"player_name": "Edgardo Henriquez",
"team": "LAD",
"role": "pitcher",
"espn_rank": 237,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 237,
"gp_value": 55.0,
"gp_rank": 63,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.765,
"era_rank": null,
"w_value": 4.0,
"w_rank": 179,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 9.0,
"hld_rank": 94,
"ip_value": 55.1,
"ip_rank": 249,
"h_value": 31.0,
"h_rank": 393,
"er_value": 17.0,
"er_rank": 358,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 23.0,
"bb_rank": 229,
"k_value": 63.0,
"k_rank": 201,
"k_per_9_value": 10.246988,
"k_per_9_rank": 21,
"whip_value": 0.9759,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9416,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9416,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0174,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.866,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0418,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 1,
"H": 2,
"BB": 1,
"SO": 13,
"HR": 0,
"ERA": 0.9642857142857144,
"WHIP": 0.32142857142857145,
"K9": 12.535714285714286,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "683618",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 96.33031735716177,
"release_spin_rate": 2583.2350024597267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 96.33031735716177,
"release_spin_rate": 2583.2350024597267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3303,
"release_spin_rate": 2583.235,
"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": 11.122,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6899,
"prior_weight": 0.3101
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683618",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 55,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 9.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1875,
"ER_per_IP": 0.0,
"H_per_IP": 0.1875,
"BB_per_IP": 0.0,
"SO_per_IP": 1.6875,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 13.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.1,
"SO": 1.3,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.5
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.3214,
"ER_per_IP": 0.10714,
"H_per_IP": 0.21429,
"BB_per_IP": 0.10714,
"SO_per_IP": 1.39286,
"HR_per_IP": 0.0
}
},
"season": {
"games": 55,
"totals": {
"IP": 55.1,
"ER": 17.0,
"R": 23.0,
"H": 31.0,
"BB": 23.0,
"SO": 63.0,
"HR": 1.0,
"BF": 220.0,
"Pitches": 882.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3091,
"R": 0.4182,
"H": 0.5636,
"BB": 0.4182,
"SO": 1.1455,
"HR": 0.0182,
"BF": 4.0,
"Pitches": 16.0364
},
"rates": {
"ERA": 2.7651,
"WHIP": 0.9759,
"ER_per_IP": 0.30723,
"H_per_IP": 0.56024,
"BB_per_IP": 0.41566,
"SO_per_IP": 1.13855,
"HR_per_IP": 0.01807
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.223,
"predicted_H": 0.489,
"predicted_BB": 0.198,
"predicted_SO": 1.309,
"predicted_HR": 0.048,
"predicted_ERA": 2.0031,
"predicted_WHIP": 0.6871
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.481,
"form_weight": 0.519,
"form_reliability": 0.6899,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.122,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6899,
"prior_weight": 0.3101
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.223,
"final": 0.1157,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.489,
"final": 0.2538,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.198,
"final": 0.1028,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.309,
"final": 1.6414,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.048,
"final": 0.0249,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0031,
"final": 2.0031,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.6871,
"final": 0.6871,
"source": "form_only"
}
}
}{
"available": false,
"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.5273 |
| ESPN Rank | 96 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1777 |
| Avg Velo | 93.0416 |
| Avg Spin | 2601.5373 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5714 |
| Season WHIP | 0.9464 |
| Role Avg IP | 0.9330 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 139,
"wins": 82,
"losses": 57,
"win_pct": 0.5899,
"runs_scored": 684.0,
"runs_allowed": 538.0,
"run_differential": 146.0,
"run_differential_per_game": 1.0504,
"avg_runs_scored": 4.9209,
"avg_runs_allowed": 3.8705,
"offense_index": 1.0948,
"defense_index": 1.1613,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 3.9,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.1699
},
"opponent": {
"team": "STL",
"games": 140,
"wins": 70,
"losses": 70,
"win_pct": 0.5,
"runs_scored": 631.0,
"runs_allowed": 639.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0571,
"avg_runs_scored": 4.5071,
"avg_runs_allowed": 4.5643,
"offense_index": 1.0027,
"defense_index": 0.9848,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 7.0,
"run_differential": -17.0
},
"available": true,
"quality_score": -0.042
},
"edges": {
"quality_edge": 0.2119,
"offense_edge": 0.0948,
"opponent_offense_edge": 0.0027,
"defense_strength": 0.1613,
"opponent_defense_weakness": 0.0152,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9737,
"strikeout": 1.0061
},
"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": 192.0,
"k_percent": 30.9,
"bb_percent": 5.5,
"woba": 0.246,
"xwoba": 0.274,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 33.6,
"avg_best_speed": 77.6312,
"avg_hyper_speed": 93.3939,
"whiff_percent": 34.5,
"swing_percent": 56.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7755,
"command_and_miss": 1.2236,
"regression_edge": -0.8,
"xwoba_edge": 1.0571,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.6,
"whiff_edge": 1.3286,
"bb_edge": 0.9,
"pitch_design_score": 0.1777
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.04164005269782,
"release_spin_rate": 2601.5372963297136,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.04164005269782,
"release_spin_rate": 2601.5372963297136,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0416,
"release_spin_rate": 2601.5373,
"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.1777,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2694,
"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.5273,
"sample_weight": 0.768,
"run_prevention_factor": 0.9552,
"strikeout_factor": 1.0803,
"walk_factor": 0.9447,
"homer_factor": 0.9477,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656945",
"espn_id": 35135,
"player_name": "Tanner Scott",
"team": "LAD",
"role": "pitcher",
"espn_rank": 96,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 96,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.5714,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 20.0,
"sv_rank": 15,
"hld_value": 12.0,
"hld_rank": 54,
"ip_value": 56.0,
"ip_rank": 246,
"h_value": 41.0,
"h_rank": 298,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 12.0,
"bb_rank": 433,
"k_value": 67.0,
"k_rank": 181,
"k_per_9_value": 10.767857,
"k_per_9_rank": 19,
"whip_value": 0.9464,
"whip_rank": null,
"war_value": 1.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9656,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9656,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9575,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9598,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0617,
"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": 2,
"SO": 7,
"HR": 0,
"ERA": 3.8571428571428568,
"WHIP": 1.0714285714285714,
"K9": 6.75,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.04164005269782,
"release_spin_rate": 2601.5372963297136,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.04164005269782,
"release_spin_rate": 2601.5372963297136,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0416,
"release_spin_rate": 2601.5373,
"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.1777,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2694,
"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.256,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6924,
"prior_weight": 0.3076
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656945",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 13.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.2857,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"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": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 141.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.1
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.0714,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"season": {
"games": 60,
"totals": {
"IP": 56.0,
"ER": 16.0,
"R": 16.0,
"H": 41.0,
"BB": 12.0,
"SO": 67.0,
"HR": 4.0,
"BF": 217.0,
"Pitches": 830.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.2667,
"H": 0.6833,
"BB": 0.2,
"SO": 1.1167,
"HR": 0.0667,
"BF": 3.6167,
"Pitches": 13.8333
},
"rates": {
"ERA": 2.5714,
"WHIP": 0.9464,
"ER_per_IP": 0.28571,
"H_per_IP": 0.73214,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.19643,
"HR_per_IP": 0.07143
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.497,
"predicted_H": 0.942,
"predicted_BB": 0.262,
"predicted_SO": 0.903,
"predicted_HR": 0.055,
"predicted_ERA": 4.471,
"predicted_WHIP": 1.2046
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.48,
"form_weight": 0.52,
"form_reliability": 0.6924,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.256,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6924,
"prior_weight": 0.3076
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.497,
"final": 0.2585,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.942,
"final": 0.4899,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.262,
"final": 0.1363,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.903,
"final": 0.9496,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0286,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.471,
"final": 4.471,
"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."
}| Metric | 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.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 3.621 | 4.000 | 4.000 | Hitting_AB | 3.639 | 5.000 | 0.361 | -1.000 |
| predicted_AVG | 0.262 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.200 | -0.028 | 0.050 |
| predicted_BB | 0.241 | 0.000 | 0.000 | Hitting_BB | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.948 | 1.000 | 1.000 | Hitting_H | 1.010 | 1.000 | -0.010 | 0.000 |
| predicted_HR | 0.086 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.308 | 0.200 | 0.250 | Hitting_OBP | 0.348 | 0.333 | -0.148 | -0.133 |
| predicted_R | 0.517 | 1.000 | 1.000 | Hitting_R | 0.515 | 2.000 | 0.485 | -1.000 |
| predicted_RBI | 0.466 | 0.000 | 1.000 | Hitting_RBI | 0.510 | 1.000 | -0.510 | -1.000 |
| predicted_SLG | 0.395 | 0.250 | 0.250 | Hitting_SLG | 0.434 | 0.200 | -0.184 | 0.050 |
| predicted_SO | 0.828 | 0.000 | 1.000 | Hitting_SO | 0.802 | 1.000 | -0.802 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.5170 -> 1.0000 (boost 0.4830, better) |
| Biggest Deboost | predicted_SO: 0.8280 -> 0.0000 (deboost -0.8280, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 3.6210 -> 3.7227 (boost 0.1017, better) | predicted_SLG: 0.3950 -> 0.3812 (deboost -0.0138, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3812 -> 0.3869 (boost 0.0057, better) | predicted_OBP: 0.3193 -> 0.3073 (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 | 3 | 4 | 2 | 5 | predicted_RBI: 0.4822 -> 1.0000 (boost 0.5178, better) | predicted_HBP: 0.2490 -> 0.0000 (deboost -0.2490, worse) | AB rounded to 4 (raw=3.72), rates preserved: AVG=0.264 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5621 -> 1.0000 (boost 0.4379, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 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.3073 -> 0.3130 (boost 0.0057, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 1 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_RBI: 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.3130 -> 0.3073 (deboost -0.0057, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669242",
"player_name": "Tommy Edman",
"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.155,
"predicted_3B": 0.034,
"predicted_AB": 3.621,
"predicted_AVG": 0.262,
"predicted_BB": 0.241,
"predicted_H": 0.948,
"predicted_HR": 0.086,
"predicted_OBP": 0.308,
"predicted_R": 0.517,
"predicted_RBI": 0.466,
"predicted_SLG": 0.395,
"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.1429,
"predicted_3B": 0.0286,
"predicted_AB": 3.7227,
"predicted_AVG": 0.2589,
"predicted_BB": 0.2322,
"predicted_H": 0.963,
"predicted_HBP": 0.249,
"predicted_HR": 0.0843,
"predicted_OBP": 0.3193,
"predicted_R": 0.5437,
"predicted_RBI": 0.4664,
"predicted_SLG": 0.3812,
"predicted_SO": 0.803
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1429,
"delta": -0.0121,
"percent_delta": -0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0286,
"delta": -0.0054,
"percent_delta": -0.1588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.621,
"after": 3.7227,
"delta": 0.1017,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2589,
"delta": -0.0031,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.2322,
"delta": -0.0088,
"percent_delta": -0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 0.963,
"delta": 0.015,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.0843,
"delta": -0.0017,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3193,
"delta": 0.0113,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.5437,
"delta": 0.0267,
"percent_delta": 0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.466,
"after": 0.4664,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3812,
"delta": -0.0138,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 0.803,
"delta": -0.025,
"percent_delta": -0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.621,
"after": 3.7227,
"delta": 0.1017,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3812,
"delta": -0.0138,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1429,
"predicted_3B": 0.0286,
"predicted_AB": 3.7227,
"predicted_AVG": 0.2636,
"predicted_BB": 0.2345,
"predicted_H": 0.9815,
"predicted_HBP": 0.249,
"predicted_HR": 0.0863,
"predicted_OBP": 0.3073,
"predicted_R": 0.5621,
"predicted_RBI": 0.4822,
"predicted_SLG": 0.3869,
"predicted_SO": 0.7949
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1429,
"after": 0.1429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7227,
"after": 3.7227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2589,
"after": 0.2636,
"delta": 0.0047,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2322,
"after": 0.2345,
"delta": 0.0023,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.963,
"after": 0.9815,
"delta": 0.0185,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.249,
"after": 0.249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0843,
"after": 0.0863,
"delta": 0.002,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3193,
"after": 0.3073,
"delta": -0.012,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5437,
"after": 0.5621,
"delta": 0.0184,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4664,
"after": 0.4822,
"delta": 0.0158,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3812,
"after": 0.3869,
"delta": 0.0057,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 0.7949,
"delta": -0.0081,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3812,
"after": 0.3869,
"delta": 0.0057,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3193,
"after": 0.3073,
"delta": -0.012,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.72), rates preserved: AVG=0.264 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1429,
"after": 0.0,
"delta": -0.1429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0,
"delta": -0.0286,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7227,
"after": 4.0,
"delta": 0.2773,
"percent_delta": 0.0745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2345,
"after": 0.0,
"delta": -0.2345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9815,
"after": 1.0,
"delta": 0.0185,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.249,
"after": 0.0,
"delta": -0.249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0863,
"after": 0.0,
"delta": -0.0863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4822,
"after": 1.0,
"delta": 0.5178,
"percent_delta": 1.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7949,
"after": 1.0,
"delta": 0.2051,
"percent_delta": 0.258,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4822,
"after": 1.0,
"delta": 0.5178,
"percent_delta": 1.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.249,
"after": 0.0,
"delta": -0.249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5621,
"after": 1.0,
"delta": 0.4379,
"percent_delta": 0.779,
"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.5621,
"after": 1.0,
"delta": 0.4379,
"percent_delta": 0.779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.264,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2636,
"after": 0.264,
"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.3073,
"after": 0.313,
"delta": 0.0057,
"percent_delta": 0.0185,
"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.3869,
"after": 0.387,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3073,
"after": 0.313,
"delta": 0.0057,
"percent_delta": 0.0185,
"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": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2636,
"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.3073,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3869,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2636,
"delta": -0.0004,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3073,
"delta": -0.0057,
"percent_delta": -0.0182,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3869,
"delta": -0.0001,
"percent_delta": -0.0002,
"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.313,
"after": 0.3073,
"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.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.621,
"after": 4.0,
"delta": 0.379,
"percent_delta": 0.1047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2636,
"delta": 0.0016,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 1.0,
"delta": 0.052,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3073,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3869,
"delta": -0.0081,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 0.0,
"delta": -0.828,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.517,
"after": 1.0,
"delta": 0.483,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.828,
"after": 0.0,
"delta": -0.828,
"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.034 | - |
| predicted_AB | 3.621 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.241 | - |
| predicted_H | 0.948 | - |
| predicted_HR | 0.086 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.517 | - |
| predicted_RBI | 0.466 | - |
| predicted_SLG | 0.395 | - |
| 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.143 | -0.012 |
| predicted_3B | 0.029 | -0.005 |
| predicted_AB | 3.723 | 0.102 |
| predicted_AVG | 0.259 | -0.003 |
| predicted_BB | 0.232 | -0.009 |
| predicted_H | 0.963 | 0.015 |
| predicted_HBP | 0.249 | - |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.319 | 0.011 |
| predicted_R | 0.544 | 0.027 |
| predicted_RBI | 0.466 | 0.000 |
| predicted_SLG | 0.381 | -0.014 |
| predicted_SO | 0.803 | -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.143 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 3.723 | 0.000 |
| predicted_AVG | 0.264 | 0.005 |
| predicted_BB | 0.234 | 0.002 |
| predicted_H | 0.982 | 0.019 |
| predicted_HBP | 0.249 | 0.000 |
| predicted_HR | 0.086 | 0.002 |
| predicted_OBP | 0.307 | -0.012 |
| predicted_R | 0.562 | 0.018 |
| predicted_RBI | 0.482 | 0.016 |
| predicted_SLG | 0.387 | 0.006 |
| predicted_SO | 0.795 | -0.008 |
AB rounded to 4 (raw=3.72), rates preserved: AVG=0.264 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 | 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.143 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 4.000 | 0.277 |
| predicted_AVG | 0.264 | 0.000 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | 0.018 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.313 | 0.006 |
| predicted_R | 1.000 | 0.438 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.387 | 0.000 |
| predicted_SO | 1.000 | 0.205 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 2.000 | 0.2609 | 0.3200 | 0.2609 | 0.2609 | 0.0000 | 0.0870 | 0.0000 | 0.0870 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 1.000 | 0.000 | 1.000 | 5.000 | 8.000 | 3.000 | 8.000 | 0.2308 | 0.3617 | 0.3333 | 0.2308 | 0.0256 | 0.1282 | 0.0769 | 0.2051 |
| season | 0.60 | 58 | - | 210.000 | 55.000 | 9.000 | 2.000 | 5.000 | 27.000 | 30.000 | 14.000 | 48.000 | 0.2619 | 0.3376 | 0.3952 | 0.2619 | 0.0238 | 0.1286 | 0.0667 | 0.2286 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.8650 |
| predicted_AVG | 0.2546 |
| predicted_BB | 0.2200 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.2490 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3351 |
| predicted_R | 0.5810 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.3618 |
| predicted_SO | 0.7680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1260 | 0.1429 | model_form_blend |
| predicted_3B | 0.0340 | 0.0210 | 0.0286 | model_form_blend |
| predicted_AB | 3.6210 | 3.8650 | 3.7227 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2546 | 0.2589 | model_form_blend |
| predicted_BB | 0.2410 | 0.2200 | 0.2322 | model_form_blend |
| predicted_H | 0.9480 | 0.9840 | 0.9630 | model_form_blend |
| predicted_HBP | - | 0.2490 | 0.2490 | form_only |
| predicted_HR | 0.0860 | 0.0820 | 0.0843 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3351 | 0.3193 | model_form_blend |
| predicted_R | 0.5170 | 0.5810 | 0.5437 | model_form_blend |
| predicted_RBI | 0.4660 | 0.4670 | 0.4664 | model_form_blend |
| predicted_SLG | 0.3950 | 0.3618 | 0.3812 | model_form_blend |
| predicted_SO | 0.8280 | 0.7680 | 0.8030 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 202 |
| Season rows before report date | 202 |
| Report year | 2026 |
| Profile rows used | 58 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| 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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260902_STL@LAD |
| game_type | full |
| mlbID | 669242 |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | 2B |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.333 |
| sl_xwoba | 0.317 |
| sl_xba | 0.258 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 34.7 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 1.000 | 0.000 | Hitting_2B | 0.110 | 0.000 | 0.890 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.442 | 4.000 | 3.000 | Hitting_AB | 3.650 | 1.000 | 0.350 | 3.000 |
| predicted_AVG | 0.236 | 0.250 | 0.000 | Hitting_AVG | 0.252 | 0.000 | -0.002 | 0.250 |
| predicted_BB | 0.404 | 1.000 | 1.000 | Hitting_BB | 0.445 | 0.000 | 0.555 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.390 | 1.000 | 0.000 | Hitting_H | 0.920 | 0.000 | 0.080 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_OBP | 0.316 | 0.400 | 0.250 | Hitting_OBP | 0.336 | 0.000 | 0.064 | 0.400 |
| predicted_R | 0.481 | 1.000 | 1.000 | Hitting_R | 0.525 | 1.000 | 0.475 | 0.000 |
| predicted_RBI | 0.300 | 2.000 | 0.000 | Hitting_RBI | 0.515 | 0.000 | 1.485 | 2.000 |
| predicted_SLG | 0.417 | 0.500 | 0.000 | Hitting_SLG | 0.381 | 0.000 | 0.119 | 0.500 |
| predicted_SO | 0.654 | 3.000 | 1.000 | Hitting_SO | 0.695 | 0.000 | 2.305 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 0.6540 -> 3.0000 (boost 2.3460, worse) |
| Biggest Deboost | predicted_SLG: 0.4170 -> 0.3044 (deboost -0.1126, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3900 -> 0.5617 (boost 0.1717, 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.4132 -> 0.3044 (deboost -0.1088, 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.6335 -> 1.0000 (boost 0.3665, worse) | predicted_H: 0.5725 -> 0.0000 (deboost -0.5725, worse) | AB rounded to 3 (raw=3.44), rates preserved: AVG=0.166 HR/AB=0.029 |
| 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 | 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) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | 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 | 5 | 5 | 0 | 4 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.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": "669257",
"player_name": "Will Smith",
"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.115,
"predicted_3B": 0.0,
"predicted_AB": 3.442,
"predicted_AVG": 0.236,
"predicted_BB": 0.404,
"predicted_H": 0.39,
"predicted_HR": 0.09,
"predicted_OBP": 0.316,
"predicted_R": 0.481,
"predicted_RBI": 0.3,
"predicted_SLG": 0.417,
"predicted_SO": 0.654
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1559,
"predicted_3B": 0.0008,
"predicted_AB": 3.3974,
"predicted_AVG": 0.2384,
"predicted_BB": 0.43,
"predicted_H": 0.5617,
"predicted_HBP": 0.043,
"predicted_HR": 0.0991,
"predicted_OBP": 0.3254,
"predicted_R": 0.5103,
"predicted_RBI": 0.371,
"predicted_SLG": 0.4132,
"predicted_SO": 0.64
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.1559,
"delta": 0.0409,
"percent_delta": 0.3557,
"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.442,
"after": 3.3974,
"delta": -0.0446,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2384,
"delta": 0.0024,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.43,
"delta": 0.026,
"percent_delta": 0.0644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.5617,
"delta": 0.1717,
"percent_delta": 0.4403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0991,
"delta": 0.0091,
"percent_delta": 0.1011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3254,
"delta": 0.0094,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.5103,
"delta": 0.0293,
"percent_delta": 0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.371,
"delta": 0.071,
"percent_delta": 0.2367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4132,
"delta": -0.0038,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.654,
"after": 0.64,
"delta": -0.014,
"percent_delta": -0.0214,
"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.39,
"after": 0.5617,
"delta": 0.1717,
"percent_delta": 0.4403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 52
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1559,
"predicted_3B": 0.0008,
"predicted_AB": 3.3974,
"predicted_AVG": 0.1685,
"predicted_BB": 0.4343,
"predicted_H": 0.5725,
"predicted_HBP": 0.043,
"predicted_HR": 0.1014,
"predicted_OBP": 0.2628,
"predicted_R": 0.5276,
"predicted_RBI": 0.3836,
"predicted_SLG": 0.3044,
"predicted_SO": 0.6335
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1559,
"after": 0.1559,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3974,
"after": 3.3974,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2384,
"after": 0.1685,
"delta": -0.0699,
"percent_delta": -0.2932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.43,
"after": 0.4343,
"delta": 0.0043,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5617,
"after": 0.5725,
"delta": 0.0108,
"percent_delta": 0.0192,
"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.0991,
"after": 0.1014,
"delta": 0.0023,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3254,
"after": 0.2628,
"delta": -0.0626,
"percent_delta": -0.1924,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5103,
"after": 0.5276,
"delta": 0.0173,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.371,
"after": 0.3836,
"delta": 0.0126,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4132,
"after": 0.3044,
"delta": -0.1088,
"percent_delta": -0.2633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 0.6335,
"delta": -0.0065,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4132,
"after": 0.3044,
"delta": -0.1088,
"percent_delta": -0.2633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.44), rates preserved: AVG=0.166 HR/AB=0.029",
"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.1559,
"after": 0.0,
"delta": -0.1559,
"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.3974,
"after": 3.0,
"delta": -0.3974,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4343,
"after": 0.0,
"delta": -0.4343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5725,
"after": 0.0,
"delta": -0.5725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.1014,
"after": 0.0,
"delta": -0.1014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3836,
"after": 0.0,
"delta": -0.3836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6335,
"after": 1.0,
"delta": 0.3665,
"percent_delta": 0.5785,
"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.6335,
"after": 1.0,
"delta": 0.3665,
"percent_delta": 0.5785,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5725,
"after": 0.0,
"delta": -0.5725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5276,
"after": 1.0,
"delta": 0.4724,
"percent_delta": 0.8954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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": 0.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"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_R",
"before": 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": 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": 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.166,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.308,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1685,
"after": 0.166,
"delta": -0.0025,
"percent_delta": -0.0148,
"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": 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.2628,
"after": 0.265,
"delta": 0.0022,
"percent_delta": 0.0084,
"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.3044,
"after": 0.308,
"delta": 0.0036,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1685,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2628,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3044,
"predicted_SO": 3.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.166,
"after": 0.1685,
"delta": 0.0025,
"percent_delta": 0.0151,
"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.265,
"after": 0.2628,
"delta": -0.0022,
"percent_delta": -0.0085,
"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.308,
"after": 0.3044,
"delta": -0.0036,
"percent_delta": -0.0116,
"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.115,
"after": 1.0,
"delta": 0.885,
"percent_delta": 7.6957,
"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.442,
"after": 4.0,
"delta": 0.558,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1685,
"delta": -0.0675,
"percent_delta": -0.286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 1.0,
"delta": 0.596,
"percent_delta": 1.4752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.2628,
"delta": -0.0532,
"percent_delta": -0.1684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 1.0,
"delta": 0.519,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3044,
"delta": -0.1126,
"percent_delta": -0.27,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.654,
"after": 3.0,
"delta": 2.346,
"percent_delta": 3.5872,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.654,
"after": 3.0,
"delta": 2.346,
"percent_delta": 3.5872,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3044,
"delta": -0.1126,
"percent_delta": -0.27,
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.442 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.404 | - |
| predicted_H | 0.390 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.654 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.041 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.397 | -0.045 |
| predicted_AVG | 0.238 | 0.002 |
| predicted_BB | 0.430 | 0.026 |
| predicted_H | 0.562 | 0.172 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.099 | 0.009 |
| predicted_OBP | 0.325 | 0.009 |
| predicted_R | 0.510 | 0.029 |
| predicted_RBI | 0.371 | 0.071 |
| predicted_SLG | 0.413 | -0.004 |
| predicted_SO | 0.640 | -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.156 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.397 | 0.000 |
| predicted_AVG | 0.169 | -0.070 |
| predicted_BB | 0.434 | 0.004 |
| predicted_H | 0.573 | 0.011 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.101 | 0.002 |
| predicted_OBP | 0.263 | -0.063 |
| predicted_R | 0.528 | 0.017 |
| predicted_RBI | 0.384 | 0.013 |
| predicted_SLG | 0.304 | -0.109 |
| predicted_SO | 0.633 | -0.007 |
AB rounded to 3 (raw=3.44), rates preserved: AVG=0.166 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 0.000 | -1.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.156 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.397 |
| predicted_AVG | 0.166 | -0.003 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | 0.427 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.265 | 0.002 |
| predicted_R | 1.000 | 0.472 |
| predicted_RBI | 0.000 | -0.384 |
| predicted_SLG | 0.308 | 0.004 |
| predicted_SO | 1.000 | 0.367 |
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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 2.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 0.2000 | 0.3333 | 0.3333 | 0.2000 | 0.0000 | 0.1333 | 0.2000 | 0.1333 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 3.000 | 0.000 | 2.000 | 5.000 | 7.000 | 6.000 | 6.000 | 0.2667 | 0.4054 | 0.5667 | 0.2667 | 0.0667 | 0.1667 | 0.2000 | 0.2000 |
| season | 0.60 | 52 | - | 179.000 | 44.000 | 6.000 | 0.000 | 6.000 | 25.000 | 25.000 | 21.000 | 34.000 | 0.2458 | 0.3268 | 0.3799 | 0.2458 | 0.0335 | 0.1397 | 0.1173 | 0.1899 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3340 |
| predicted_AVG | 0.2417 |
| predicted_BB | 0.4670 |
| predicted_H | 0.8060 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.3389 |
| predicted_R | 0.5520 |
| predicted_RBI | 0.4720 |
| predicted_SLG | 0.4079 |
| predicted_SO | 0.6200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.2140 | 0.1559 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4420 | 3.3340 | 3.3974 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2417 | 0.2384 | model_form_blend |
| predicted_BB | 0.4040 | 0.4670 | 0.4300 | model_form_blend |
| predicted_H | 0.3900 | 0.8060 | 0.5617 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.0900 | 0.1120 | 0.0991 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3389 | 0.3254 | model_form_blend |
| predicted_R | 0.4810 | 0.5520 | 0.5103 | model_form_blend |
| predicted_RBI | 0.3000 | 0.4720 | 0.3710 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4079 | 0.4132 | model_form_blend |
| predicted_SO | 0.6540 | 0.6200 | 0.6400 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 200 |
| Season rows before report date | 200 |
| Report year | 2026 |
| Profile rows used | 52 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260902_STL@LAD |
| game_type | ph |
| mlbID | 669257 |
| note | Flied out for Feduccia in the 9th. |
| playerID | 669257 |
| playerName | Will Smith |
| pos | C |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.318 |
| sl_xwoba | 0.384 |
| sl_xba | 0.275 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 42.6 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 41.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.239 | 0.000 | 0.000 | Hitting_2B | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 3.754 | 4.000 | 4.000 | Hitting_AB | 3.811 | 2.000 | 0.189 | 2.000 |
| predicted_AVG | 0.378 | 0.250 | 0.250 | Hitting_AVG | 0.305 | 1.000 | -0.055 | -0.750 |
| predicted_BB | 0.478 | 1.000 | 1.000 | Hitting_BB | 0.495 | 3.000 | 0.505 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.161 | 2.000 | -0.161 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 1.000 | Hitting_HR | 0.121 | 1.000 | -0.121 | -1.000 |
| predicted_OBP | 0.471 | 0.400 | 0.400 | Hitting_OBP | 0.385 | 1.000 | 0.015 | -0.600 |
| predicted_R | 0.522 | 1.000 | 1.000 | Hitting_R | 0.542 | 1.000 | 0.458 | 0.000 |
| predicted_RBI | 0.760 | 1.000 | 1.000 | Hitting_RBI | 0.518 | 3.000 | 0.482 | -2.000 |
| predicted_SLG | 0.583 | 0.250 | 1.000 | Hitting_SLG | 0.470 | 2.500 | -0.220 | -2.250 |
| predicted_SO | 0.694 | 0.000 | 1.000 | Hitting_SO | 0.714 | 0.000 | -0.714 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4780 -> 1.0000 (boost 0.5220, 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 | 8 | 3 | 5 | 3 | 5 | predicted_BB: 0.4780 -> 0.6082 (boost 0.1302, better) | predicted_AB: 3.7540 -> 3.6469 (deboost -0.1071, worse) | Final model input calibrated with local 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.3678 -> 0.3186 (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 | 4 | 3 | 3 | 4 | predicted_BB: 0.6143 -> 1.0000 (boost 0.3857, better) | predicted_2B: 0.2316 -> 0.0000 (deboost -0.2316, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.310 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6181 -> 1.0000 (boost 0.3819, 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 | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5160 -> 0.5308 (boost 0.0148, 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.239,
"predicted_3B": 0.007,
"predicted_AB": 3.754,
"predicted_AVG": 0.378,
"predicted_BB": 0.478,
"predicted_H": 1.06,
"predicted_HR": 0.2,
"predicted_OBP": 0.471,
"predicted_R": 0.522,
"predicted_RBI": 0.76,
"predicted_SLG": 0.583,
"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.2316,
"predicted_3B": 0.0061,
"predicted_AB": 3.6469,
"predicted_AVG": 0.3678,
"predicted_BB": 0.6082,
"predicted_H": 1.1401,
"predicted_HBP": 0.013,
"predicted_HR": 0.1726,
"predicted_OBP": 0.4655,
"predicted_R": 0.5978,
"predicted_RBI": 0.696,
"predicted_SLG": 0.5633,
"predicted_SO": 0.704
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.2316,
"delta": -0.0074,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.754,
"after": 3.6469,
"delta": -0.1071,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.378,
"after": 0.3678,
"delta": -0.0102,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.478,
"after": 0.6082,
"delta": 0.1302,
"percent_delta": 0.2724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1401,
"delta": 0.0801,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.1726,
"delta": -0.0274,
"percent_delta": -0.137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.471,
"after": 0.4655,
"delta": -0.0055,
"percent_delta": -0.0117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 0.5978,
"delta": 0.0758,
"percent_delta": 0.1452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.696,
"delta": -0.064,
"percent_delta": -0.0842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.583,
"after": 0.5633,
"delta": -0.0197,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.694,
"after": 0.704,
"delta": 0.01,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.478,
"after": 0.6082,
"delta": 0.1302,
"percent_delta": 0.2724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.754,
"after": 3.6469,
"delta": -0.1071,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 134
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2316,
"predicted_3B": 0.0061,
"predicted_AB": 3.6469,
"predicted_AVG": 0.3186,
"predicted_BB": 0.6143,
"predicted_H": 1.162,
"predicted_HBP": 0.013,
"predicted_HR": 0.1767,
"predicted_OBP": 0.4169,
"predicted_R": 0.6181,
"predicted_RBI": 0.7196,
"predicted_SLG": 0.5308,
"predicted_SO": 0.6969
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2316,
"after": 0.2316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6469,
"after": 3.6469,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3678,
"after": 0.3186,
"delta": -0.0492,
"percent_delta": -0.1338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6082,
"after": 0.6143,
"delta": 0.0061,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1401,
"after": 1.162,
"delta": 0.0219,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1726,
"after": 0.1767,
"delta": 0.0041,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4655,
"after": 0.4169,
"delta": -0.0486,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5978,
"after": 0.6181,
"delta": 0.0203,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.696,
"after": 0.7196,
"delta": 0.0236,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5633,
"after": 0.5308,
"delta": -0.0325,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.6969,
"delta": -0.0071,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3678,
"after": 0.3186,
"delta": -0.0492,
"percent_delta": -0.1338,
"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.310 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2316,
"after": 0.0,
"delta": -0.2316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6469,
"after": 4.0,
"delta": 0.3531,
"percent_delta": 0.0968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6143,
"after": 1.0,
"delta": 0.3857,
"percent_delta": 0.6279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.162,
"after": 1.0,
"delta": -0.162,
"percent_delta": -0.1394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1767,
"after": 0.0,
"delta": -0.1767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7196,
"after": 1.0,
"delta": 0.2804,
"percent_delta": 0.3897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6969,
"after": 1.0,
"delta": 0.3031,
"percent_delta": 0.4349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6143,
"after": 1.0,
"delta": 0.3857,
"percent_delta": 0.6279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2316,
"after": 0.0,
"delta": -0.2316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6181,
"after": 1.0,
"delta": 0.3819,
"percent_delta": 0.6179,
"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.6181,
"after": 1.0,
"delta": 0.3819,
"percent_delta": 0.6179,
"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.31,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.411,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.516,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3186,
"after": 0.31,
"delta": -0.0086,
"percent_delta": -0.027,
"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.4169,
"after": 0.411,
"delta": -0.0059,
"percent_delta": -0.0142,
"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.5308,
"after": 0.516,
"delta": -0.0148,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3186,
"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.4169,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5308,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.31,
"after": 0.3186,
"delta": 0.0086,
"percent_delta": 0.0278,
"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.411,
"after": 0.4169,
"delta": 0.0059,
"percent_delta": 0.0143,
"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.516,
"after": 0.5308,
"delta": 0.0148,
"percent_delta": 0.0287,
"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.516,
"after": 0.5308,
"delta": 0.0148,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.0,
"delta": -0.239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.754,
"after": 4.0,
"delta": 0.246,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.378,
"after": 0.3186,
"delta": -0.0594,
"percent_delta": -0.1571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.478,
"after": 1.0,
"delta": 0.522,
"percent_delta": 1.0921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.471,
"after": 0.4169,
"delta": -0.0541,
"percent_delta": -0.1149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.583,
"after": 0.5308,
"delta": -0.0522,
"percent_delta": -0.0895,
"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": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.478,
"after": 1.0,
"delta": 0.522,
"percent_delta": 1.0921,
"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.239 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.754 | - |
| predicted_AVG | 0.378 | - |
| predicted_BB | 0.478 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.471 | - |
| predicted_R | 0.522 | - |
| predicted_RBI | 0.760 | - |
| predicted_SLG | 0.583 | - |
| 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.232 | -0.007 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.647 | -0.107 |
| predicted_AVG | 0.368 | -0.010 |
| predicted_BB | 0.608 | 0.130 |
| predicted_H | 1.140 | 0.080 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.173 | -0.027 |
| predicted_OBP | 0.466 | -0.005 |
| predicted_R | 0.598 | 0.076 |
| predicted_RBI | 0.696 | -0.064 |
| predicted_SLG | 0.563 | -0.020 |
| predicted_SO | 0.704 | 0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.232 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.647 | 0.000 |
| predicted_AVG | 0.319 | -0.049 |
| predicted_BB | 0.614 | 0.006 |
| predicted_H | 1.162 | 0.022 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.177 | 0.004 |
| predicted_OBP | 0.417 | -0.049 |
| predicted_R | 0.618 | 0.020 |
| predicted_RBI | 0.720 | 0.024 |
| predicted_SLG | 0.531 | -0.032 |
| predicted_SO | 0.697 | -0.007 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.310 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.232 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.353 |
| predicted_AVG | 0.310 | -0.009 |
| predicted_BB | 1.000 | 0.386 |
| predicted_H | 1.000 | -0.162 |
| predicted_HR | 0.000 | -0.177 |
| predicted_OBP | 0.411 | -0.006 |
| predicted_R | 1.000 | 0.382 |
| predicted_RBI | 1.000 | 0.280 |
| predicted_SLG | 0.516 | -0.015 |
| predicted_SO | 1.000 | 0.303 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 7.000 | 4.000 | 0.5000 | 0.6667 | 0.7857 | 0.5000 | 0.0714 | 0.3571 | 0.5000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 2.000 | 0.000 | 1.000 | 5.000 | 8.000 | 9.000 | 6.000 | 0.3824 | 0.5116 | 0.5294 | 0.3824 | 0.0294 | 0.1471 | 0.2647 | 0.1765 |
| season | 0.60 | 134 | - | 503.000 | 154.000 | 32.000 | 1.000 | 16.000 | 64.000 | 70.000 | 64.000 | 93.000 | 0.3062 | 0.3843 | 0.4692 | 0.3062 | 0.0318 | 0.1272 | 0.1272 | 0.1849 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5080 |
| predicted_AVG | 0.3546 |
| predicted_BB | 0.7770 |
| predicted_H | 1.2440 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.4583 |
| predicted_R | 0.6960 |
| predicted_RBI | 0.6130 |
| predicted_SLG | 0.5377 |
| predicted_SO | 0.7170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.2220 | 0.2316 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.7540 | 3.5080 | 3.6469 | model_form_blend |
| predicted_AVG | 0.3780 | 0.3546 | 0.3678 | model_form_blend |
| predicted_BB | 0.4780 | 0.7770 | 0.6082 | model_form_blend |
| predicted_H | 1.0600 | 1.2440 | 1.1401 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.2000 | 0.1370 | 0.1726 | model_form_blend |
| predicted_OBP | 0.4710 | 0.4583 | 0.4655 | model_form_blend |
| predicted_R | 0.5220 | 0.6960 | 0.5978 | model_form_blend |
| predicted_RBI | 0.7600 | 0.6130 | 0.6960 | model_form_blend |
| predicted_SLG | 0.5830 | 0.5377 | 0.5633 | model_form_blend |
| predicted_SO | 0.6940 | 0.7170 | 0.7040 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 134 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1.0 |
| Hitting_BB | 3 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.371 |
| sl_xwoba | 0.377 |
| sl_xba | 0.301 |
| sl_xslg | 0.488 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.139 | 0.000 | 0.000 | Hitting_2B | 0.137 | 1.000 | -0.137 | -1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.190 | 5.000 | 4.000 | Hitting_AB | 3.663 | 5.000 | 1.337 | 0.000 |
| predicted_AVG | 0.271 | 0.200 | 0.250 | Hitting_AVG | 0.253 | 0.600 | -0.053 | -0.400 |
| predicted_BB | 0.297 | 0.000 | 0.000 | Hitting_BB | 0.332 | 0.000 | -0.332 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 0.926 | 3.000 | 0.074 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.323 | 0.200 | 0.250 | Hitting_OBP | 0.317 | 0.600 | -0.117 | -0.400 |
| predicted_R | 0.515 | 0.000 | 0.000 | Hitting_R | 0.573 | 0.000 | -0.573 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_SLG | 0.428 | 0.200 | 0.250 | Hitting_SLG | 0.399 | 0.800 | -0.199 | -0.600 |
| predicted_SO | 1.089 | 2.000 | 1.000 | Hitting_SO | 1.085 | 0.000 | 0.915 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 1.0890 -> 2.0000 (boost 0.9110, worse) |
| Biggest Deboost | predicted_R: 0.5150 -> 0.0000 (deboost -0.5150, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3230 -> 0.3292 (boost 0.0062, better) | predicted_AB: 4.1900 -> 4.0139 (deboost -0.1761, worse) | Final model input calibrated with local 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.4272 -> 0.4333 (boost 0.0061, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_RBI: 0.4447 -> 0.0000 (deboost -0.4447, worse) | AB rounded to 4 (raw=4.19), rates preserved: AVG=0.269 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5227 -> 1.0000 (boost 0.4773, better) | - | 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_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_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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4150 -> 0.4333 (boost 0.0183, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.139,
"predicted_3B": 0.01,
"predicted_AB": 4.19,
"predicted_AVG": 0.271,
"predicted_BB": 0.297,
"predicted_H": 1.14,
"predicted_HR": 0.16,
"predicted_OBP": 0.323,
"predicted_R": 0.515,
"predicted_RBI": 0.44,
"predicted_SLG": 0.428,
"predicted_SO": 1.089
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.142,
"predicted_3B": 0.0087,
"predicted_AB": 4.0139,
"predicted_AVG": 0.275,
"predicted_BB": 0.2824,
"predicted_H": 1.1056,
"predicted_HBP": 0.071,
"predicted_HR": 0.1475,
"predicted_OBP": 0.3292,
"predicted_R": 0.5056,
"predicted_RBI": 0.4301,
"predicted_SLG": 0.4272,
"predicted_SO": 1.1229
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.139,
"after": 0.142,
"delta": 0.003,
"percent_delta": 0.0216,
"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": 4.19,
"after": 4.0139,
"delta": -0.1761,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.275,
"delta": 0.004,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.2824,
"delta": -0.0146,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1056,
"delta": -0.0344,
"percent_delta": -0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1475,
"delta": -0.0125,
"percent_delta": -0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3292,
"delta": 0.0062,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.5056,
"delta": -0.0094,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4301,
"delta": -0.0099,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4272,
"delta": -0.0008,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.089,
"after": 1.1229,
"delta": 0.0339,
"percent_delta": 0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3292,
"delta": 0.0062,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0139,
"delta": -0.1761,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.142,
"predicted_3B": 0.0087,
"predicted_AB": 4.0139,
"predicted_AVG": 0.2807,
"predicted_BB": 0.2853,
"predicted_H": 1.1268,
"predicted_HBP": 0.071,
"predicted_HR": 0.151,
"predicted_OBP": 0.3285,
"predicted_R": 0.5227,
"predicted_RBI": 0.4447,
"predicted_SLG": 0.4333,
"predicted_SO": 1.1116
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.142,
"after": 0.142,
"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": 4.0139,
"after": 4.0139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2807,
"delta": 0.0057,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2824,
"after": 0.2853,
"delta": 0.0029,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1056,
"after": 1.1268,
"delta": 0.0212,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1475,
"after": 0.151,
"delta": 0.0035,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3292,
"after": 0.3285,
"delta": -0.0007,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5056,
"after": 0.5227,
"delta": 0.0171,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4301,
"after": 0.4447,
"delta": 0.0146,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4272,
"after": 0.4333,
"delta": 0.0061,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1229,
"after": 1.1116,
"delta": -0.0113,
"percent_delta": -0.0101,
"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.4272,
"after": 0.4333,
"delta": 0.0061,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.19), rates preserved: AVG=0.269 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"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": 4.0139,
"after": 4.0,
"delta": -0.0139,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2853,
"after": 0.0,
"delta": -0.2853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1268,
"after": 1.0,
"delta": -0.1268,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4447,
"after": 0.0,
"delta": -0.4447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1116,
"after": 1.0,
"delta": -0.1116,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4447,
"after": 0.0,
"delta": -0.4447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5227,
"after": 1.0,
"delta": 0.4773,
"percent_delta": 0.9131,
"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.5227,
"after": 1.0,
"delta": 0.4773,
"percent_delta": 0.9131,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 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_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.269,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.321,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.415,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2807,
"after": 0.269,
"delta": -0.0117,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3285,
"after": 0.321,
"delta": -0.0075,
"percent_delta": -0.0228,
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4333,
"after": 0.415,
"delta": -0.0183,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 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_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.2807,
"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.3285,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4333,
"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.269,
"after": 0.2807,
"delta": 0.0117,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3285,
"delta": 0.0075,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4333,
"delta": 0.0183,
"percent_delta": 0.044,
"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.415,
"after": 0.4333,
"delta": 0.0183,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.139,
"after": 0.0,
"delta": -0.139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 5.0,
"delta": 0.81,
"percent_delta": 0.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2807,
"delta": 0.0097,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"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.323,
"after": 0.3285,
"delta": 0.0055,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4333,
"delta": 0.0053,
"percent_delta": 0.0124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.089,
"after": 2.0,
"delta": 0.911,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.089,
"after": 2.0,
"delta": 0.911,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.515 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 1.089 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 4.014 | -0.176 |
| predicted_AVG | 0.275 | 0.004 |
| predicted_BB | 0.282 | -0.015 |
| predicted_H | 1.106 | -0.034 |
| predicted_HBP | 0.071 | - |
| predicted_HR | 0.147 | -0.013 |
| predicted_OBP | 0.329 | 0.006 |
| predicted_R | 0.506 | -0.009 |
| predicted_RBI | 0.430 | -0.010 |
| predicted_SLG | 0.427 | -0.001 |
| predicted_SO | 1.123 | 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.142 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.014 | 0.000 |
| predicted_AVG | 0.281 | 0.006 |
| predicted_BB | 0.285 | 0.003 |
| predicted_H | 1.127 | 0.021 |
| predicted_HBP | 0.071 | 0.000 |
| predicted_HR | 0.151 | 0.004 |
| predicted_OBP | 0.329 | -0.001 |
| predicted_R | 0.523 | 0.017 |
| predicted_RBI | 0.445 | 0.015 |
| predicted_SLG | 0.433 | 0.006 |
| predicted_SO | 1.112 | -0.011 |
AB rounded to 4 (raw=4.19), rates preserved: AVG=0.269 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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 | 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.142 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | -0.014 |
| predicted_AVG | 0.269 | -0.012 |
| predicted_BB | 0.000 | -0.285 |
| predicted_H | 1.000 | -0.127 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.321 | -0.008 |
| predicted_R | 1.000 | 0.477 |
| predicted_RBI | 0.000 | -0.445 |
| predicted_SLG | 0.415 | -0.018 |
| predicted_SO | 1.000 | -0.112 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 8.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 6.000 | 0.3810 | 0.4348 | 0.5714 | 0.3810 | 0.0476 | 0.0952 | 0.0476 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 15.000 | 0.2750 | 0.3256 | 0.3750 | 0.2750 | 0.0250 | 0.0750 | 0.0500 | 0.3750 |
| season | 0.60 | 101 | - | 360.000 | 91.000 | 14.000 | 1.000 | 12.000 | 45.000 | 52.000 | 30.000 | 110.000 | 0.2528 | 0.3131 | 0.3972 | 0.2528 | 0.0333 | 0.1250 | 0.0833 | 0.3056 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7800 |
| predicted_AVG | 0.2804 |
| predicted_BB | 0.2630 |
| predicted_H | 1.0600 |
| predicted_HBP | 0.0710 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3375 |
| predicted_R | 0.4930 |
| predicted_RBI | 0.4170 |
| predicted_SLG | 0.4262 |
| predicted_SO | 1.1680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1390 | 0.1460 | 0.1420 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 4.1900 | 3.7800 | 4.0139 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2804 | 0.2750 | model_form_blend |
| predicted_BB | 0.2970 | 0.2630 | 0.2824 | model_form_blend |
| predicted_H | 1.1400 | 1.0600 | 1.1056 | model_form_blend |
| predicted_HBP | - | 0.0710 | 0.0710 | form_only |
| predicted_HR | 0.1600 | 0.1310 | 0.1475 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3375 | 0.3292 | model_form_blend |
| predicted_R | 0.5150 | 0.4930 | 0.5056 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4170 | 0.4301 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4262 | 0.4272 | model_form_blend |
| predicted_SO | 1.0890 | 1.1680 | 1.1229 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 365 |
| Season rows before report date | 365 |
| 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 | 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.313 |
| sl_xwoba | 0.319 |
| sl_xba | 0.248 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 0.000 | 1.000 | Hitting_2B | 0.165 | 1.000 | -0.165 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 5.180 | 5.000 | 5.000 | Hitting_AB | 4.098 | 6.000 | 0.902 | -1.000 |
| predicted_AVG | 0.255 | 0.400 | 0.200 | Hitting_AVG | 0.245 | 0.333 | 0.155 | 0.067 |
| predicted_BB | 0.300 | 0.000 | 0.000 | Hitting_BB | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 1.320 | 2.000 | 1.000 | Hitting_H | 1.005 | 2.000 | 0.995 | 0.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.193 | 1.000 | -0.193 | -1.000 |
| predicted_OBP | 0.337 | 0.400 | 0.200 | Hitting_OBP | 0.293 | 0.333 | 0.107 | 0.067 |
| predicted_R | 0.520 | 1.000 | 1.000 | Hitting_R | 0.596 | 1.000 | 0.404 | 0.000 |
| predicted_RBI | 1.000 | 2.000 | 1.000 | Hitting_RBI | 0.542 | 2.000 | 1.458 | 0.000 |
| predicted_SLG | 0.486 | 0.400 | 0.400 | Hitting_SLG | 0.427 | 1.000 | -0.027 | -0.600 |
| predicted_SO | 0.470 | 0.000 | 0.000 | Hitting_SO | 0.501 | 2.000 | -0.501 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.4700 -> 0.0000 (deboost -0.4700, 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 | 2 | 4 | 2 | 4 | predicted_2B: 0.1900 -> 0.2598 (boost 0.0698, better) | predicted_AB: 5.1800 -> 4.6944 (deboost -0.4856, worse) | Final model input calibrated with local 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.4808 -> 0.4436 (deboost -0.0372, 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.6944 -> 5.0000 (boost 0.3056, better) | predicted_SO: 0.5037 -> 0.0000 (deboost -0.5037, better) | AB rounded to 5 (raw=5.18), rates preserved: AVG=0.240 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5336 -> 1.0000 (boost 0.4664, 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 | 2 | 2 | 0 | 2 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4100 -> 0.4436 (boost 0.0336, 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.19,
"predicted_3B": 0.0,
"predicted_AB": 5.18,
"predicted_AVG": 0.255,
"predicted_BB": 0.3,
"predicted_H": 1.32,
"predicted_HR": 0.21,
"predicted_OBP": 0.337,
"predicted_R": 0.52,
"predicted_RBI": 1.0,
"predicted_SLG": 0.486,
"predicted_SO": 0.47
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2598,
"predicted_3B": 0.0004,
"predicted_AB": 4.6944,
"predicted_AVG": 0.2606,
"predicted_BB": 0.3375,
"predicted_H": 1.2196,
"predicted_HBP": 0.032,
"predicted_HR": 0.1885,
"predicted_OBP": 0.3363,
"predicted_R": 0.5161,
"predicted_RBI": 0.8595,
"predicted_SLG": 0.4808,
"predicted_SO": 0.5088
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.2598,
"delta": 0.0698,
"percent_delta": 0.3674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 4.6944,
"delta": -0.4856,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2606,
"delta": 0.0056,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.3375,
"delta": 0.0375,
"percent_delta": 0.125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.32,
"after": 1.2196,
"delta": -0.1004,
"percent_delta": -0.0761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.1885,
"delta": -0.0215,
"percent_delta": -0.1024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3363,
"delta": -0.0007,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.5161,
"delta": -0.0039,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.8595,
"delta": -0.1405,
"percent_delta": -0.1405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4808,
"delta": -0.0052,
"percent_delta": -0.0107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.47,
"after": 0.5088,
"delta": 0.0388,
"percent_delta": 0.0826,
"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_2B",
"before": 0.19,
"after": 0.2598,
"delta": 0.0698,
"percent_delta": 0.3674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.18,
"after": 4.6944,
"delta": -0.4856,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2598,
"predicted_3B": 0.0004,
"predicted_AB": 4.6944,
"predicted_AVG": 0.2648,
"predicted_BB": 0.3409,
"predicted_H": 1.243,
"predicted_HBP": 0.032,
"predicted_HR": 0.1929,
"predicted_OBP": 0.3146,
"predicted_R": 0.5336,
"predicted_RBI": 0.8886,
"predicted_SLG": 0.4436,
"predicted_SO": 0.5037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2598,
"after": 0.2598,
"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.6944,
"after": 4.6944,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2606,
"after": 0.2648,
"delta": 0.0042,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3375,
"after": 0.3409,
"delta": 0.0034,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2196,
"after": 1.243,
"delta": 0.0234,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1885,
"after": 0.1929,
"delta": 0.0044,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3363,
"after": 0.3146,
"delta": -0.0217,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5161,
"after": 0.5336,
"delta": 0.0175,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8595,
"after": 0.8886,
"delta": 0.0291,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4808,
"after": 0.4436,
"delta": -0.0372,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5088,
"after": 0.5037,
"delta": -0.0051,
"percent_delta": -0.01,
"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.4808,
"after": 0.4436,
"delta": -0.0372,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.18), rates preserved: AVG=0.240 HR/AB=0.037",
"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.2598,
"after": 0.0,
"delta": -0.2598,
"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.6944,
"after": 5.0,
"delta": 0.3056,
"percent_delta": 0.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3409,
"after": 0.0,
"delta": -0.3409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.243,
"after": 1.0,
"delta": -0.243,
"percent_delta": -0.1955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1929,
"after": 0.0,
"delta": -0.1929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8886,
"after": 1.0,
"delta": 0.1114,
"percent_delta": 0.1254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5037,
"after": 0.0,
"delta": -0.5037,
"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.6944,
"after": 5.0,
"delta": 0.3056,
"percent_delta": 0.0651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5037,
"after": 0.0,
"delta": -0.5037,
"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.5336,
"after": 1.0,
"delta": 0.4664,
"percent_delta": 0.8741,
"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.5336,
"after": 1.0,
"delta": 0.4664,
"percent_delta": 0.8741,
"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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.24,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.41,
"predicted_SO": 0.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.2648,
"after": 0.24,
"delta": -0.0248,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3146,
"after": 0.293,
"delta": -0.0216,
"percent_delta": -0.0687,
"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.4436,
"after": 0.41,
"delta": -0.0336,
"percent_delta": -0.0757,
"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": 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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 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_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2648,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3146,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4436,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2648,
"delta": 0.0248,
"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": 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.3146,
"delta": 0.0216,
"percent_delta": 0.0736,
"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.41,
"after": 0.4436,
"delta": 0.0336,
"percent_delta": 0.0819,
"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.41,
"after": 0.4436,
"delta": 0.0336,
"percent_delta": 0.0819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.18,
"after": 5.0,
"delta": -0.18,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2648,
"delta": 0.0098,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.32,
"after": 2.0,
"delta": 0.68,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3146,
"delta": -0.0224,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4436,
"delta": -0.0424,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 5.180 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 1.320 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.520 | - |
| predicted_RBI | 1.000 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 0.470 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.260 | 0.070 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.694 | -0.486 |
| predicted_AVG | 0.261 | 0.006 |
| predicted_BB | 0.338 | 0.038 |
| predicted_H | 1.220 | -0.100 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.189 | -0.021 |
| predicted_OBP | 0.336 | -0.001 |
| predicted_R | 0.516 | -0.004 |
| predicted_RBI | 0.860 | -0.140 |
| predicted_SLG | 0.481 | -0.005 |
| predicted_SO | 0.509 | 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.260 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.694 | 0.000 |
| predicted_AVG | 0.265 | 0.004 |
| predicted_BB | 0.341 | 0.003 |
| predicted_H | 1.243 | 0.023 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.193 | 0.004 |
| predicted_OBP | 0.315 | -0.022 |
| predicted_R | 0.534 | 0.017 |
| predicted_RBI | 0.889 | 0.029 |
| predicted_SLG | 0.444 | -0.037 |
| predicted_SO | 0.504 | -0.005 |
AB rounded to 5 (raw=5.18), rates preserved: AVG=0.240 HR/AB=0.037
| 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 | 1.000 | 1.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.260 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.306 |
| predicted_AVG | 0.240 | -0.025 |
| predicted_BB | 0.000 | -0.341 |
| predicted_H | 1.000 | -0.243 |
| predicted_HR | 0.000 | -0.193 |
| predicted_OBP | 0.293 | -0.022 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 1.000 | 0.111 |
| predicted_SLG | 0.410 | -0.034 |
| predicted_SO | 0.000 | -0.504 |
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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 4.000 | 0.000 | 1.000 | 6.000 | 3.000 | 3.000 | 4.000 | 0.3182 | 0.4000 | 0.6364 | 0.3182 | 0.0454 | 0.2727 | 0.1364 | 0.1818 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 5.000 | 0.000 | 1.000 | 7.000 | 4.000 | 5.000 | 5.000 | 0.2927 | 0.3830 | 0.4878 | 0.2927 | 0.0244 | 0.1707 | 0.1220 | 0.1220 |
| season | 0.60 | 100 | - | 395.000 | 97.000 | 19.000 | 0.000 | 17.000 | 53.000 | 52.000 | 30.000 | 47.000 | 0.2456 | 0.3014 | 0.4228 | 0.2456 | 0.0430 | 0.1342 | 0.0760 | 0.1190 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3520 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0530 |
| predicted_AVG | 0.2681 |
| predicted_BB | 0.3870 |
| predicted_H | 1.0870 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1600 |
| predicted_OBP | 0.3354 |
| predicted_R | 0.5110 |
| predicted_RBI | 0.6740 |
| predicted_SLG | 0.4739 |
| predicted_SO | 0.5600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.3520 | 0.2598 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 5.1800 | 4.0530 | 4.6944 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2681 | 0.2606 | model_form_blend |
| predicted_BB | 0.3000 | 0.3870 | 0.3375 | model_form_blend |
| predicted_H | 1.3200 | 1.0870 | 1.2196 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.2100 | 0.1600 | 0.1885 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3354 | 0.3363 | model_form_blend |
| predicted_R | 0.5200 | 0.5110 | 0.5161 | model_form_blend |
| predicted_RBI | 1.0000 | 0.6740 | 0.8595 | model_form_blend |
| predicted_SLG | 0.4860 | 0.4739 | 0.4808 | model_form_blend |
| predicted_SO | 0.4700 | 0.5600 | 0.5088 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 389 |
| Season rows before report date | 389 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 11.3 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.315 |
| sl_xwoba | 0.329 |
| sl_xba | 0.275 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 40.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 11.9 |
| sl_swing_percent | 41.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.106 | 0.000 | 0.000 | Hitting_2B | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.349 | 1.000 | 0.651 | 2.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_BB | 0.160 | 1.000 | 0.000 | Hitting_BB | 0.116 | 0.000 | 0.884 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.585 | 0.000 | 1.000 | Hitting_H | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_HR | 0.106 | 0.000 | 0.000 | Hitting_HR | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_OBP | 0.280 | 0.250 | 0.333 | Hitting_OBP | 0.274 | 0.000 | -0.024 | 0.250 |
| predicted_R | 0.372 | 0.000 | 0.000 | Hitting_R | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_RBI | 0.266 | 0.000 | 0.000 | Hitting_RBI | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_SLG | 0.404 | 0.000 | 0.333 | Hitting_SLG | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SO | 0.904 | 1.000 | 1.000 | Hitting_SO | 0.814 | 1.000 | 0.186 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1600 -> 1.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_H: 0.5850 -> 0.0000 (deboost -0.5850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 2.5000 -> 2.6031 (boost 0.1031, better) | predicted_SLG: 0.4040 -> 0.3977 (deboost -0.0063, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3977 -> 0.4040 (boost 0.0063, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 2.6031 -> 3.0000 (boost 0.3969, better) | predicted_RBI: 0.2838 -> 0.0000 (deboost -0.2838, worse) | AB rounded to 3 (raw=2.60), rates preserved: AVG=0.243 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4036 -> 0.0000 (deboost -0.4036, 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.4040 -> 0.4110 (boost 0.0070, better) | - | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4110 -> 0.4040 (deboost -0.0070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571771",
"player_name": "Enrique Hernández",
"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.106,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.234,
"predicted_BB": 0.16,
"predicted_H": 0.585,
"predicted_HR": 0.106,
"predicted_OBP": 0.28,
"predicted_R": 0.372,
"predicted_RBI": 0.266,
"predicted_SLG": 0.404,
"predicted_SO": 0.904
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1019,
"predicted_3B": 0.0014,
"predicted_AB": 2.6031,
"predicted_AVG": 0.2379,
"predicted_BB": 0.1757,
"predicted_H": 0.6201,
"predicted_HBP": 0.009,
"predicted_HR": 0.1026,
"predicted_OBP": 0.2868,
"predicted_R": 0.3904,
"predicted_RBI": 0.2745,
"predicted_SLG": 0.3977,
"predicted_SO": 0.9288
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.1019,
"delta": -0.0041,
"percent_delta": -0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6031,
"delta": 0.1031,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2379,
"delta": 0.0039,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 0.1757,
"delta": 0.0157,
"percent_delta": 0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.585,
"after": 0.6201,
"delta": 0.0351,
"percent_delta": 0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.106,
"after": 0.1026,
"delta": -0.0034,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2868,
"delta": 0.0068,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.372,
"after": 0.3904,
"delta": 0.0184,
"percent_delta": 0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.266,
"after": 0.2745,
"delta": 0.0085,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3977,
"delta": -0.0063,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.904,
"after": 0.9288,
"delta": 0.0248,
"percent_delta": 0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6031,
"delta": 0.1031,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3977,
"delta": -0.0063,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 21
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1019,
"predicted_3B": 0.0014,
"predicted_AB": 2.6031,
"predicted_AVG": 0.2428,
"predicted_BB": 0.1775,
"predicted_H": 0.632,
"predicted_HBP": 0.009,
"predicted_HR": 0.105,
"predicted_OBP": 0.2911,
"predicted_R": 0.4036,
"predicted_RBI": 0.2838,
"predicted_SLG": 0.404,
"predicted_SO": 0.9194
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1019,
"after": 0.1019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6031,
"after": 2.6031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2379,
"after": 0.2428,
"delta": 0.0049,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1757,
"after": 0.1775,
"delta": 0.0018,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6201,
"after": 0.632,
"delta": 0.0119,
"percent_delta": 0.0192,
"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.1026,
"after": 0.105,
"delta": 0.0024,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2868,
"after": 0.2911,
"delta": 0.0043,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3904,
"after": 0.4036,
"delta": 0.0132,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2745,
"after": 0.2838,
"delta": 0.0093,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3977,
"after": 0.404,
"delta": 0.0063,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9288,
"after": 0.9194,
"delta": -0.0094,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_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.3977,
"after": 0.404,
"delta": 0.0063,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.60), rates preserved: AVG=0.243 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1019,
"after": 0.0,
"delta": -0.1019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6031,
"after": 3.0,
"delta": 0.3969,
"percent_delta": 0.1525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1775,
"after": 0.0,
"delta": -0.1775,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6031,
"after": 3.0,
"delta": 0.3969,
"percent_delta": 0.1525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4036,
"after": 0.0,
"delta": -0.4036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4036,
"after": 0.0,
"delta": -0.4036,
"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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.411,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2428,
"after": 0.243,
"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.2911,
"after": 0.297,
"delta": 0.0059,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.411,
"delta": 0.007,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.404,
"after": 0.411,
"delta": 0.007,
"percent_delta": 0.0173,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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.2428,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2911,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.404,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2428,
"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.297,
"after": 0.2911,
"delta": -0.0059,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.404,
"delta": -0.007,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.411,
"after": 0.404,
"delta": -0.007,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2428,
"delta": 0.0088,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2911,
"delta": 0.0111,
"percent_delta": 0.0396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.904,
"after": 1.0,
"delta": 0.096,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.106 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.160 | - |
| predicted_H | 0.585 | - |
| predicted_HR | 0.106 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.372 | - |
| predicted_RBI | 0.266 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.904 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | -0.004 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.603 | 0.103 |
| predicted_AVG | 0.238 | 0.004 |
| predicted_BB | 0.176 | 0.016 |
| predicted_H | 0.620 | 0.035 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.103 | -0.003 |
| predicted_OBP | 0.287 | 0.007 |
| predicted_R | 0.390 | 0.018 |
| predicted_RBI | 0.275 | 0.009 |
| predicted_SLG | 0.398 | -0.006 |
| predicted_SO | 0.929 | 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.102 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.603 | 0.000 |
| predicted_AVG | 0.243 | 0.005 |
| predicted_BB | 0.177 | 0.002 |
| predicted_H | 0.632 | 0.012 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.105 | 0.002 |
| predicted_OBP | 0.291 | 0.004 |
| predicted_R | 0.404 | 0.013 |
| predicted_RBI | 0.284 | 0.009 |
| predicted_SLG | 0.404 | 0.006 |
| predicted_SO | 0.919 | -0.009 |
AB rounded to 3 (raw=2.60), rates preserved: AVG=0.243 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.102 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.397 |
| predicted_AVG | 0.243 | 0.000 |
| predicted_BB | 0.000 | -0.177 |
| predicted_H | 1.000 | 0.368 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.297 | 0.006 |
| predicted_R | 0.000 | -0.404 |
| predicted_RBI | 0.000 | -0.284 |
| predicted_SLG | 0.411 | 0.007 |
| 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 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.3000 | 0.3636 | 0.3000 | 0.3000 | 0.0000 | 0.0000 | 0.1000 | 0.6000 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 10.000 | 0.2174 | 0.2800 | 0.3478 | 0.2174 | 0.0435 | 0.1304 | 0.0870 | 0.4348 |
| season | 0.60 | 21 | - | 47.000 | 11.000 | 2.000 | 0.000 | 2.000 | 5.000 | 7.000 | 3.000 | 17.000 | 0.2340 | 0.2800 | 0.4043 | 0.2340 | 0.0425 | 0.1064 | 0.0638 | 0.3617 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0040 |
| predicted_AB | 2.8030 |
| predicted_AVG | 0.2455 |
| predicted_BB | 0.2060 |
| predicted_H | 0.6880 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.3001 |
| predicted_R | 0.4260 |
| predicted_RBI | 0.2910 |
| predicted_SLG | 0.3854 |
| predicted_SO | 0.9770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1060 | 0.0940 | 0.1019 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 2.8030 | 2.6031 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2455 | 0.2379 | model_form_blend |
| predicted_BB | 0.1600 | 0.2060 | 0.1757 | model_form_blend |
| predicted_H | 0.5850 | 0.6880 | 0.6201 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1060 | 0.0960 | 0.1026 | model_form_blend |
| predicted_OBP | 0.2800 | 0.3001 | 0.2868 | model_form_blend |
| predicted_R | 0.3720 | 0.4260 | 0.3904 | model_form_blend |
| predicted_RBI | 0.2660 | 0.2910 | 0.2745 | model_form_blend |
| predicted_SLG | 0.4040 | 0.3854 | 0.3977 | model_form_blend |
| predicted_SO | 0.9040 | 0.9770 | 0.9288 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 21 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 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-3B |
| gameID | 20260902_STL@LAD |
| game_type | ph |
| mlbID | 571771 |
| note | Struck out for Muncy in the 9th. |
| playerID | 571771 |
| playerName | Enrique Hernández |
| pos | 1B |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 34.0 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.299 |
| sl_xwoba | 0.268 |
| sl_xba | 0.211 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 58.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.127 | 1.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | 0.868 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.695 | 1.000 | 1.305 | 3.000 |
| predicted_AVG | 0.254 | 0.500 | 0.333 | Hitting_AVG | 0.260 | 0.000 | 0.240 | 0.500 |
| predicted_BB | 0.308 | 0.000 | 0.000 | Hitting_BB | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.634 | 2.000 | 1.000 | Hitting_H | 0.701 | 0.000 | 1.299 | 2.000 |
| predicted_HR | 0.018 | 0.000 | 0.000 | Hitting_HR | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_OBP | 0.335 | 0.500 | 0.333 | Hitting_OBP | 0.371 | 0.000 | 0.129 | 0.500 |
| predicted_R | 0.326 | 1.000 | 0.000 | Hitting_R | 0.461 | 0.000 | 0.539 | 1.000 |
| predicted_RBI | 0.326 | 0.000 | 0.000 | Hitting_RBI | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SLG | 0.326 | 0.750 | 0.333 | Hitting_SLG | 0.349 | 0.000 | 0.401 | 0.750 |
| predicted_SO | 0.525 | 1.000 | 1.000 | Hitting_SO | 0.545 | 0.000 | 0.455 | 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_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_RBI: 0.3260 -> 0.0000 (deboost -0.3260, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3260 -> 0.3367 (boost 0.0107, 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.3367 -> 0.3425 (boost 0.0058, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 2.5016 -> 3.0000 (boost 0.4984, better) | predicted_RBI: 0.3229 -> 0.0000 (deboost -0.3229, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.267 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3237 -> 0.0000 (deboost -0.3237, 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.3425 -> 0.3500 (boost 0.0075, better) | - | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3500 -> 0.3425 (deboost -0.0075, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669743",
"player_name": "Alex Call",
"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.127,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.254,
"predicted_BB": 0.308,
"predicted_H": 0.634,
"predicted_HR": 0.018,
"predicted_OBP": 0.335,
"predicted_R": 0.326,
"predicted_RBI": 0.326,
"predicted_SLG": 0.326,
"predicted_SO": 0.525
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1262,
"predicted_3B": 0.0008,
"predicted_AB": 2.5016,
"predicted_AVG": 0.2621,
"predicted_BB": 0.2805,
"predicted_H": 0.655,
"predicted_HBP": 0.087,
"predicted_HR": 0.02,
"predicted_OBP": 0.3432,
"predicted_R": 0.3131,
"predicted_RBI": 0.3123,
"predicted_SLG": 0.3367,
"predicted_SO": 0.5553
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.1262,
"delta": -0.0008,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5016,
"delta": 0.0016,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2621,
"delta": 0.0081,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.2805,
"delta": -0.0275,
"percent_delta": -0.0893,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.634,
"after": 0.655,
"delta": 0.021,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.018,
"after": 0.02,
"delta": 0.002,
"percent_delta": 0.1111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3432,
"delta": 0.0082,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.3131,
"delta": -0.0129,
"percent_delta": -0.0396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.326,
"after": 0.3123,
"delta": -0.0137,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3367,
"delta": 0.0107,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.525,
"after": 0.5553,
"delta": 0.0303,
"percent_delta": 0.0577,
"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.326,
"after": 0.3367,
"delta": 0.0107,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1262,
"predicted_3B": 0.0008,
"predicted_AB": 2.5016,
"predicted_AVG": 0.2669,
"predicted_BB": 0.2833,
"predicted_H": 0.6676,
"predicted_HBP": 0.087,
"predicted_HR": 0.0205,
"predicted_OBP": 0.3414,
"predicted_R": 0.3237,
"predicted_RBI": 0.3229,
"predicted_SLG": 0.3425,
"predicted_SO": 0.5497
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1262,
"after": 0.1262,
"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.5016,
"after": 2.5016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.2669,
"delta": 0.0048,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2805,
"after": 0.2833,
"delta": 0.0028,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.655,
"after": 0.6676,
"delta": 0.0126,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0205,
"delta": 0.0005,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3432,
"after": 0.3414,
"delta": -0.0018,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3131,
"after": 0.3237,
"delta": 0.0106,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3123,
"after": 0.3229,
"delta": 0.0106,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3367,
"after": 0.3425,
"delta": 0.0058,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5553,
"after": 0.5497,
"delta": -0.0056,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_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.3367,
"after": 0.3425,
"delta": 0.0058,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.267 HR/AB=0.008",
"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.1262,
"after": 0.0,
"delta": -0.1262,
"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.5016,
"after": 3.0,
"delta": 0.4984,
"percent_delta": 0.1992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2833,
"after": 0.0,
"delta": -0.2833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6676,
"after": 1.0,
"delta": 0.3324,
"percent_delta": 0.4979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0205,
"after": 0.0,
"delta": -0.0205,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3229,
"after": 0.0,
"delta": -0.3229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5497,
"after": 1.0,
"delta": 0.4503,
"percent_delta": 0.8192,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5016,
"after": 3.0,
"delta": 0.4984,
"percent_delta": 0.1992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3229,
"after": 0.0,
"delta": -0.3229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3237,
"after": 0.0,
"delta": -0.3237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3237,
"after": 0.0,
"delta": -0.3237,
"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.267,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.347,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.35,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2669,
"after": 0.267,
"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.3414,
"after": 0.347,
"delta": 0.0056,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3425,
"after": 0.35,
"delta": 0.0075,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.3425,
"after": 0.35,
"delta": 0.0075,
"percent_delta": 0.0219,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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": 4.0,
"predicted_AVG": 0.2669,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3414,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3425,
"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.267,
"after": 0.2669,
"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_CS",
"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.347,
"after": 0.3414,
"delta": -0.0056,
"percent_delta": -0.016,
"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.35,
"after": 0.3425,
"delta": -0.0075,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.35,
"after": 0.3425,
"delta": -0.0075,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 1.0,
"delta": 0.873,
"percent_delta": 6.874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2669,
"delta": 0.0129,
"percent_delta": 0.0508,
"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.634,
"after": 2.0,
"delta": 1.366,
"percent_delta": 2.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3414,
"delta": 0.0064,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3425,
"delta": 0.0165,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"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_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"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.127 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.308 | - |
| predicted_H | 0.634 | - |
| predicted_HR | 0.018 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.326 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 0.525 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.502 | 0.002 |
| predicted_AVG | 0.262 | 0.008 |
| predicted_BB | 0.281 | -0.027 |
| predicted_H | 0.655 | 0.021 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.020 | 0.002 |
| predicted_OBP | 0.343 | 0.008 |
| predicted_R | 0.313 | -0.013 |
| predicted_RBI | 0.312 | -0.014 |
| predicted_SLG | 0.337 | 0.011 |
| predicted_SO | 0.555 | 0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.502 | 0.000 |
| predicted_AVG | 0.267 | 0.005 |
| predicted_BB | 0.283 | 0.003 |
| predicted_H | 0.668 | 0.013 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.021 | 0.001 |
| predicted_OBP | 0.341 | -0.002 |
| predicted_R | 0.324 | 0.011 |
| predicted_RBI | 0.323 | 0.011 |
| predicted_SLG | 0.343 | 0.006 |
| predicted_SO | 0.550 | -0.006 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.267 HR/AB=0.008
| 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.126 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.498 |
| predicted_AVG | 0.267 | 0.000 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 1.000 | 0.332 |
| predicted_HR | 0.000 | -0.021 |
| predicted_OBP | 0.347 | 0.006 |
| predicted_R | 0.000 | -0.324 |
| predicted_RBI | 0.000 | -0.323 |
| predicted_SLG | 0.350 | 0.007 |
| predicted_SO | 1.000 | 0.450 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 4.000 | 0.3333 | 0.4286 | 0.3333 | 0.3333 | 0.0000 | 0.0833 | 0.0833 | 0.3333 |
| last_10 | 0.20 | 10 | - | 20.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 5.000 | 0.3000 | 0.3636 | 0.4000 | 0.3000 | 0.0000 | 0.1000 | 0.0500 | 0.2500 |
| season | 0.60 | 60 | - | 138.000 | 35.000 | 7.000 | 0.000 | 1.000 | 18.000 | 18.000 | 17.000 | 29.000 | 0.2536 | 0.3438 | 0.3261 | 0.2536 | 0.0073 | 0.1304 | 0.1232 | 0.2101 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.5040 |
| predicted_AVG | 0.2740 |
| predicted_BB | 0.2400 |
| predicted_H | 0.6860 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.0230 |
| predicted_OBP | 0.3554 |
| predicted_R | 0.2940 |
| predicted_RBI | 0.2920 |
| predicted_SLG | 0.3526 |
| predicted_SO | 0.6000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1270 | 0.1250 | 0.1262 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.5040 | 2.5016 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2740 | 0.2621 | model_form_blend |
| predicted_BB | 0.3080 | 0.2400 | 0.2805 | model_form_blend |
| predicted_H | 0.6340 | 0.6860 | 0.6550 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.0180 | 0.0230 | 0.0200 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3554 | 0.3432 | model_form_blend |
| predicted_R | 0.3260 | 0.2940 | 0.3131 | model_form_blend |
| predicted_RBI | 0.3260 | 0.2920 | 0.3123 | model_form_blend |
| predicted_SLG | 0.3260 | 0.3526 | 0.3367 | model_form_blend |
| predicted_SO | 0.5250 | 0.6000 | 0.5553 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 167 |
| Season rows before report date | 167 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 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 | 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 | 1 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260901_STL@LAD |
| game_type | ph |
| mlbID | 669743 |
| note | Grounded out for Ohtani in the 8th. |
| playerID | 669743 |
| playerName | Alex Call |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-01 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.316 |
| sl_xwoba | 0.278 |
| sl_xba | 0.21 |
| sl_xslg | 0.267 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 17.1 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 0.000 | 1.000 | Hitting_2B | 0.190 | 1.000 | -0.190 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 5.000 | 3.000 | Hitting_AB | 2.757 | 3.000 | 2.243 | 2.000 |
| predicted_AVG | 0.326 | 0.000 | 0.333 | Hitting_AVG | 0.271 | 0.333 | -0.271 | -0.333 |
| predicted_BB | 0.134 | 0.000 | 0.000 | Hitting_BB | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.620 | 0.000 | 1.000 | Hitting_H | 0.748 | 1.000 | -0.748 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.333 | Hitting_OBP | 0.310 | 0.333 | -0.310 | -0.333 |
| predicted_R | 0.255 | 0.000 | 0.000 | Hitting_R | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.460 | 0.000 | 0.667 | Hitting_SLG | 0.397 | 0.667 | -0.397 | -0.667 |
| predicted_SO | 0.296 | 2.000 | 0.000 | Hitting_SO | 0.352 | 1.000 | 1.648 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better) |
| Biggest Deboost | predicted_H: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3260 -> 0.3055 (deboost -0.0205, worse) | Final model input calibrated with local 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.3055 -> 0.2644 (deboost -0.0411, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 2.4802 -> 3.0000 (boost 0.5198, better) | predicted_SO: 0.3049 -> 0.0000 (deboost -0.3049, better) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.262 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2376 -> 0.0000 (deboost -0.2376, 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 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 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": "500743",
"player_name": "Miguel Rojas",
"position": "2B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.326,
"predicted_BB": 0.134,
"predicted_H": 0.62,
"predicted_HR": 0.06,
"predicted_OBP": 0.326,
"predicted_R": 0.255,
"predicted_RBI": 0.28,
"predicted_SLG": 0.46,
"predicted_SO": 0.296
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2062,
"predicted_3B": 0.0004,
"predicted_AB": 2.4802,
"predicted_AVG": 0.3055,
"predicted_BB": 0.1249,
"predicted_H": 0.6435,
"predicted_HBP": 0.01,
"predicted_HR": 0.0484,
"predicted_OBP": 0.3168,
"predicted_R": 0.2298,
"predicted_RBI": 0.2874,
"predicted_SLG": 0.4396,
"predicted_SO": 0.308
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.2062,
"delta": 0.0182,
"percent_delta": 0.0968,
"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.4802,
"delta": -0.0198,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.326,
"after": 0.3055,
"delta": -0.0205,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.134,
"after": 0.1249,
"delta": -0.0091,
"percent_delta": -0.0679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.6435,
"delta": 0.0235,
"percent_delta": 0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0484,
"delta": -0.0116,
"percent_delta": -0.1933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3168,
"delta": -0.0092,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.255,
"after": 0.2298,
"delta": -0.0252,
"percent_delta": -0.0988,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2874,
"delta": 0.0074,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4396,
"delta": -0.0204,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.296,
"after": 0.308,
"delta": 0.012,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.326,
"after": 0.3055,
"delta": -0.0205,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2062,
"predicted_3B": 0.0004,
"predicted_AB": 2.4802,
"predicted_AVG": 0.2644,
"predicted_BB": 0.1262,
"predicted_H": 0.6559,
"predicted_HBP": 0.01,
"predicted_HR": 0.0495,
"predicted_OBP": 0.3,
"predicted_R": 0.2376,
"predicted_RBI": 0.2971,
"predicted_SLG": 0.4078,
"predicted_SO": 0.3049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2062,
"after": 0.2062,
"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.4802,
"after": 2.4802,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3055,
"after": 0.2644,
"delta": -0.0411,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1249,
"after": 0.1262,
"delta": 0.0013,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6435,
"after": 0.6559,
"delta": 0.0124,
"percent_delta": 0.0193,
"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.0484,
"after": 0.0495,
"delta": 0.0011,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.3,
"delta": -0.0168,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2298,
"after": 0.2376,
"delta": 0.0078,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2874,
"after": 0.2971,
"delta": 0.0097,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4396,
"after": 0.4078,
"delta": -0.0318,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.308,
"after": 0.3049,
"delta": -0.0031,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3055,
"after": 0.2644,
"delta": -0.0411,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.262 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2062,
"after": 0.0,
"delta": -0.2062,
"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.4802,
"after": 3.0,
"delta": 0.5198,
"percent_delta": 0.2096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1262,
"after": 0.0,
"delta": -0.1262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6559,
"after": 1.0,
"delta": 0.3441,
"percent_delta": 0.5246,
"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.0495,
"after": 0.0,
"delta": -0.0495,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2971,
"after": 0.0,
"delta": -0.2971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.4802,
"after": 3.0,
"delta": 0.5198,
"percent_delta": 0.2096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2376,
"after": 0.0,
"delta": -0.2376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.2376,
"after": 0.0,
"delta": -0.2376,
"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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.262,
"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.412,
"predicted_SO": 0.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.2644,
"after": 0.262,
"delta": -0.0024,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.303,
"delta": 0.003,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4078,
"after": 0.412,
"delta": 0.0042,
"percent_delta": 0.0103,
"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_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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 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.2644,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4078,
"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.262,
"after": 0.2644,
"delta": 0.0024,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3,
"delta": -0.003,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.4078,
"delta": -0.0042,
"percent_delta": -0.0102,
"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.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.326,
"after": 0.2644,
"delta": -0.0616,
"percent_delta": -0.189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.326,
"after": 0.3,
"delta": -0.026,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4078,
"delta": -0.0522,
"percent_delta": -0.1135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.296,
"after": 2.0,
"delta": 1.704,
"percent_delta": 5.7568,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 5.0,
"delta": 2.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.326 | - |
| predicted_BB | 0.134 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.255 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 0.296 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.480 | -0.020 |
| predicted_AVG | 0.305 | -0.021 |
| predicted_BB | 0.125 | -0.009 |
| predicted_H | 0.643 | 0.023 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.317 | -0.009 |
| predicted_R | 0.230 | -0.025 |
| predicted_RBI | 0.287 | 0.007 |
| predicted_SLG | 0.440 | -0.020 |
| predicted_SO | 0.308 | 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.206 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.480 | 0.000 |
| predicted_AVG | 0.264 | -0.041 |
| predicted_BB | 0.126 | 0.001 |
| predicted_H | 0.656 | 0.012 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.050 | 0.001 |
| predicted_OBP | 0.300 | -0.017 |
| predicted_R | 0.238 | 0.008 |
| predicted_RBI | 0.297 | 0.010 |
| predicted_SLG | 0.408 | -0.032 |
| predicted_SO | 0.305 | -0.003 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.262 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 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.206 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.520 |
| predicted_AVG | 0.262 | -0.002 |
| predicted_BB | 0.000 | -0.126 |
| predicted_H | 1.000 | 0.344 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.303 | 0.003 |
| predicted_R | 0.000 | -0.238 |
| predicted_RBI | 0.000 | -0.297 |
| predicted_SLG | 0.412 | 0.004 |
| predicted_SO | 0.000 | -0.305 |
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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 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 | - | 11.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 1.000 | 0.3636 | 0.3636 | 0.5455 | 0.3636 | 0.0000 | 0.1818 | 0.0000 | 0.0909 |
| last_10 | 0.20 | 10 | - | 20.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 3.000 | 0.2000 | 0.2273 | 0.3000 | 0.2000 | 0.0000 | 0.1000 | 0.0500 | 0.1500 |
| season | 0.60 | 79 | - | 186.000 | 52.000 | 14.000 | 0.000 | 3.000 | 20.000 | 19.000 | 10.000 | 22.000 | 0.2796 | 0.3088 | 0.4032 | 0.2796 | 0.0161 | 0.1075 | 0.0538 | 0.1183 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2320 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.4520 |
| predicted_AVG | 0.2763 |
| predicted_BB | 0.1120 |
| predicted_H | 0.6770 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0320 |
| predicted_OBP | 0.3037 |
| predicted_R | 0.1940 |
| predicted_RBI | 0.2980 |
| predicted_SLG | 0.4106 |
| predicted_SO | 0.3250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.2320 | 0.2062 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.4520 | 2.4802 | model_form_blend |
| predicted_AVG | 0.3260 | 0.2763 | 0.3055 | model_form_blend |
| predicted_BB | 0.1340 | 0.1120 | 0.1249 | model_form_blend |
| predicted_H | 0.6200 | 0.6770 | 0.6435 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0600 | 0.0320 | 0.0484 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3037 | 0.3168 | model_form_blend |
| predicted_R | 0.2550 | 0.1940 | 0.2298 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2980 | 0.2874 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4106 | 0.4396 | model_form_blend |
| predicted_SO | 0.2960 | 0.3250 | 0.3080 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 500743 |
| playerID | 500743 |
| playerName | Miguel Rojas |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 10.5 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.315 |
| sl_xwoba | 0.315 |
| sl_xba | 0.286 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 16.3 |
| sl_swing_percent | 48.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.840 | 3.000 | 4.000 | Hitting_AB | 3.713 | 4.000 | -0.713 | -1.000 |
| predicted_AVG | 0.200 | 0.000 | 0.250 | Hitting_AVG | 0.237 | 0.250 | -0.237 | -0.250 |
| predicted_BB | 0.488 | 1.000 | 1.000 | Hitting_BB | 0.508 | 1.000 | 0.492 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.880 | 1.000 | -0.880 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.400 | Hitting_OBP | 0.330 | 0.400 | -0.080 | -0.150 |
| predicted_R | 0.551 | 0.000 | 0.000 | Hitting_R | 0.614 | 0.000 | -0.614 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_SLG | 0.312 | 0.000 | 0.250 | Hitting_SLG | 0.377 | 0.250 | -0.377 | -0.250 |
| predicted_SO | 0.740 | 0.000 | 1.000 | Hitting_SO | 0.783 | 0.000 | -0.783 | 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.4880 -> 1.0000 (boost 0.5120, better) |
| Biggest Deboost | predicted_AB: 3.8400 -> 3.0000 (deboost -0.8400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.4880 -> 0.5735 (boost 0.0855, better) | predicted_AB: 3.8400 -> 3.7093 (deboost -0.1307, worse) | Final model input calibrated with local 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_BB: 0.5793 -> 1.0000 (boost 0.4207, better) | predicted_RBI: 0.4262 -> 0.0000 (deboost -0.4262, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.201 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4965 -> 0.0000 (deboost -0.4965, 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 | 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 | 1 | 2 | - | 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.3030 -> 0.3136 (boost 0.0106, 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.157,
"predicted_3B": 0.024,
"predicted_AB": 3.84,
"predicted_AVG": 0.2,
"predicted_BB": 0.488,
"predicted_H": 0.77,
"predicted_HR": 0.07,
"predicted_OBP": 0.31,
"predicted_R": 0.551,
"predicted_RBI": 0.44,
"predicted_SLG": 0.312,
"predicted_SO": 0.74
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0197,
"predicted_AB": 3.7093,
"predicted_AVG": 0.204,
"predicted_BB": 0.5735,
"predicted_H": 0.7574,
"predicted_HBP": 0.015,
"predicted_HR": 0.0635,
"predicted_OBP": 0.3192,
"predicted_R": 0.4802,
"predicted_RBI": 0.4122,
"predicted_SLG": 0.3103,
"predicted_SO": 0.6584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0197,
"delta": -0.0043,
"percent_delta": -0.1792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7093,
"delta": -0.1307,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.204,
"delta": 0.004,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.5735,
"delta": 0.0855,
"percent_delta": 0.1752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7574,
"delta": -0.0126,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0635,
"delta": -0.0065,
"percent_delta": -0.0929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3192,
"delta": 0.0092,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.551,
"after": 0.4802,
"delta": -0.0708,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4122,
"delta": -0.0278,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3103,
"delta": -0.0017,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.6584,
"delta": -0.0816,
"percent_delta": -0.1103,
"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.488,
"after": 0.5735,
"delta": 0.0855,
"percent_delta": 0.1752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7093,
"delta": -0.1307,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0197,
"predicted_AB": 3.7093,
"predicted_AVG": 0.2081,
"predicted_BB": 0.5793,
"predicted_H": 0.7719,
"predicted_HBP": 0.015,
"predicted_HR": 0.065,
"predicted_OBP": 0.3151,
"predicted_R": 0.4965,
"predicted_RBI": 0.4262,
"predicted_SLG": 0.3136,
"predicted_SO": 0.6518
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7093,
"after": 3.7093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2081,
"delta": 0.0041,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5735,
"after": 0.5793,
"delta": 0.0058,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7574,
"after": 0.7719,
"delta": 0.0145,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0635,
"after": 0.065,
"delta": 0.0015,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3192,
"after": 0.3151,
"delta": -0.0041,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4802,
"after": 0.4965,
"delta": 0.0163,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4122,
"after": 0.4262,
"delta": 0.014,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3103,
"after": 0.3136,
"delta": 0.0033,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6584,
"after": 0.6518,
"delta": -0.0066,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.84), rates preserved: AVG=0.201 HR/AB=0.017",
"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.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0,
"delta": -0.0197,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7093,
"after": 4.0,
"delta": 0.2907,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5793,
"after": 1.0,
"delta": 0.4207,
"percent_delta": 0.7262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7719,
"after": 1.0,
"delta": 0.2281,
"percent_delta": 0.2955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4262,
"after": 0.0,
"delta": -0.4262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6518,
"after": 1.0,
"delta": 0.3482,
"percent_delta": 0.5342,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5793,
"after": 1.0,
"delta": 0.4207,
"percent_delta": 0.7262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4262,
"after": 0.0,
"delta": -0.4262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4965,
"after": 0.0,
"delta": -0.4965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4965,
"after": 0.0,
"delta": -0.4965,
"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": 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": 0.0,
"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": 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.201,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.303,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2081,
"after": 0.201,
"delta": -0.0071,
"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.3151,
"after": 0.311,
"delta": -0.0041,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3136,
"after": 0.303,
"delta": -0.0106,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2081,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3151,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3136,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2081,
"delta": 0.0071,
"percent_delta": 0.0354,
"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.311,
"after": 0.3151,
"delta": 0.0041,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.3136,
"delta": 0.0106,
"percent_delta": 0.0351,
"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.303,
"after": 0.3136,
"delta": 0.0106,
"percent_delta": 0.0351,
"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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.0,
"delta": -0.84,
"percent_delta": -0.2187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2081,
"delta": 0.0081,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3151,
"delta": 0.0051,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.551,
"after": 0.0,
"delta": -0.551,
"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.312,
"after": 0.3136,
"delta": 0.0016,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"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.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.0,
"delta": -0.84,
"percent_delta": -0.2187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.200 | - |
| predicted_BB | 0.488 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.551 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.312 | - |
| predicted_SO | 0.740 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | 0.000 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.709 | -0.131 |
| predicted_AVG | 0.204 | 0.004 |
| predicted_BB | 0.574 | 0.086 |
| predicted_H | 0.757 | -0.013 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.064 | -0.007 |
| predicted_OBP | 0.319 | 0.009 |
| predicted_R | 0.480 | -0.071 |
| predicted_RBI | 0.412 | -0.028 |
| predicted_SLG | 0.310 | -0.002 |
| predicted_SO | 0.658 | -0.082 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.709 | 0.000 |
| predicted_AVG | 0.208 | 0.004 |
| predicted_BB | 0.579 | 0.006 |
| predicted_H | 0.772 | 0.015 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.065 | 0.002 |
| predicted_OBP | 0.315 | -0.004 |
| predicted_R | 0.496 | 0.016 |
| predicted_RBI | 0.426 | 0.014 |
| predicted_SLG | 0.314 | 0.003 |
| predicted_SO | 0.652 | -0.007 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.201 HR/AB=0.017
| 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 | 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.157 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.291 |
| predicted_AVG | 0.201 | -0.007 |
| predicted_BB | 1.000 | 0.421 |
| predicted_H | 1.000 | 0.228 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.311 | -0.004 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.303 | -0.011 |
| predicted_SO | 1.000 | 0.348 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 1.000 | 0.1875 | 0.3913 | 0.2500 | 0.1875 | 0.0000 | 0.0625 | 0.3750 | 0.0625 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 8.000 | 3.000 | 0.1667 | 0.3111 | 0.1944 | 0.1667 | 0.0000 | 0.0833 | 0.2222 | 0.0833 |
| season | 0.60 | 127 | - | 458.000 | 104.000 | 20.000 | 3.000 | 11.000 | 58.000 | 70.000 | 62.000 | 94.000 | 0.2271 | 0.3201 | 0.3559 | 0.2271 | 0.0240 | 0.1266 | 0.1354 | 0.2052 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.5390 |
| predicted_AVG | 0.2093 |
| predicted_BB | 0.6850 |
| predicted_H | 0.7410 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3311 |
| predicted_R | 0.3880 |
| predicted_RBI | 0.3760 |
| predicted_SLG | 0.3081 |
| predicted_SO | 0.5520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1570 | 0.1570 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 3.8400 | 3.5390 | 3.7093 | model_form_blend |
| predicted_AVG | 0.2000 | 0.2093 | 0.2040 | model_form_blend |
| predicted_BB | 0.4880 | 0.6850 | 0.5735 | model_form_blend |
| predicted_H | 0.7700 | 0.7410 | 0.7574 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.0700 | 0.0550 | 0.0635 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3311 | 0.3192 | model_form_blend |
| predicted_R | 0.5510 | 0.3880 | 0.4802 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3760 | 0.4122 | model_form_blend |
| predicted_SLG | 0.3120 | 0.3081 | 0.3103 | model_form_blend |
| predicted_SO | 0.7400 | 0.5520 | 0.6584 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 502 |
| Season rows before report date | 502 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.306 |
| sl_xwoba | 0.325 |
| sl_xba | 0.253 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 48.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.400 | 0.000 | -1.400 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.000 | 1.000 | -2.000 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.800 | 4.000 | -1.800 | -1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 6.000 | 6.000 | 0.000 | 0.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 7.400 | 7.000 | -0.400 | 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_SO: 6.0000 -> 7.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better) | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669373",
"player_name": "Tarik Skubal",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 7.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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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 | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 6.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.000 | 10.000 | 24.000 | 7.000 | 37.000 | 2.000 | 3.0000 | 1.0333 | 0.3333 | 0.8000 | 0.2333 | 1.2333 | 0.0667 |
| last_10 | 0.35 | 10 | 61.000 | 17.000 | 46.000 | 13.000 | 78.000 | 3.000 | 2.5082 | 0.9672 | 0.2787 | 0.7541 | 0.2131 | 1.2787 | 0.0492 |
| season | 0.20 | 21 | 126.200 | 40.000 | 98.000 | 21.000 | 153.000 | 12.000 | 2.8421 | 0.9395 | 0.3158 | 0.7737 | 0.1658 | 1.2079 | 0.0947 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4590 |
| predicted_ER | 2.0800 |
| predicted_ERA | 3.1197 |
| predicted_H | 4.8960 |
| predicted_HR | 0.4900 |
| predicted_IP | 6.0000 |
| predicted_SO | 7.1130 |
| predicted_WHIP | 1.0591 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.4590 | 0.8298 | model_form_blend |
| predicted_ER | 0.0000 | 2.0800 | 1.1830 | model_form_blend |
| predicted_ERA | - | 3.1197 | 3.1197 | form_only |
| predicted_H | 3.0000 | 4.8960 | 4.0784 | model_form_blend |
| predicted_HR | 0.0000 | 0.4900 | 0.2787 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 6.0000 | 7.1130 | 6.6330 | model_form_blend |
| predicted_WHIP | - | 1.0591 | 1.0591 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 3 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 7 |
| HR | 0 |
| BF | 21 |
| Pitches | 97 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.84 |
| 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 | 6.0 |
| Pitching_Pitches | 83 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_LAD@DET |
| game_type | full |
| mlbID | 669373 |
| playerID | 669373 |
| playerName | Tarik Skubal |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-28 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.264 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 75.234321429 |
| sl_avg_hyper_speed | 93.584739416 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 0.400 | 0.000 | 2.600 | 3.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 0.300 | 2.000 | 3.700 | 2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 0.600 | 3.000 | 3.400 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.895 | 1.000 | 0.305 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.950 | 1.000 | 0.050 | 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": "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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 1.2,
"predicted_R": 4.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 3.0,
"after": 3.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 3.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 6.000 | 3.000 | 3.000 | 0.000 | 4.1538 | 2.0769 | 0.4615 | 1.3846 | 0.6923 | 0.6923 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 7.000 | 3.000 | 9.000 | 0.000 | 2.6129 | 0.9677 | 0.2903 | 0.6774 | 0.2903 | 0.8710 | 0.0000 |
| season | 0.20 | 20 | 20.000 | 6.000 | 12.000 | 8.000 | 19.000 | 2.000 | 2.7000 | 1.0000 | 0.3000 | 0.6000 | 0.4000 | 0.9500 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4250 |
| predicted_ER | 0.4400 |
| predicted_ERA | 3.9637 |
| predicted_H | 0.9760 |
| predicted_HR | 0.0900 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8800 |
| predicted_WHIP | 1.4014 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.4250 | 1.9293 | model_form_blend |
| predicted_ER | 4.0000 | 0.4400 | 2.5197 | model_form_blend |
| predicted_ERA | - | 3.9637 | 3.9637 | form_only |
| predicted_H | 4.0000 | 0.9760 | 2.7426 | model_form_blend |
| predicted_HR | 2.0000 | 0.0900 | 1.2058 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8800 | 0.9501 | model_form_blend |
| predicted_WHIP | - | 1.4014 | 1.4014 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 4 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 1 |
| HR | 2 |
| BF | 12 |
| Pitches | 57 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 2.70 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 592779 |
| playerID | 592779 |
| playerName | Brock Stewart |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.241 |
| sl_xwoba | 0.23 |
| sl_sweet_spot_percent | 23.5 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 23.5 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 66.968120385 |
| sl_avg_hyper_speed | 92.067190784 |
| 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.418 | 0.000 | -0.418 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.564 | 0.000 | -0.564 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.875 | 1.000 | 0.125 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.145 | 1.000 | 0.855 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683618",
"player_name": "Edgardo Henriquez",
"position": "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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 1.000 | 0.000 | 9.000 | 0.000 | 0.0000 | 0.1875 | 0.0000 | 0.1875 | 0.0000 | 1.6875 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 2.000 | 1.000 | 13.000 | 0.000 | 0.9643 | 0.3214 | 0.1071 | 0.2143 | 0.1071 | 1.3929 | 0.0000 |
| season | 0.20 | 55 | 55.100 | 17.000 | 31.000 | 23.000 | 63.000 | 1.000 | 2.7651 | 0.9759 | 0.3072 | 0.5602 | 0.4157 | 1.1385 | 0.0181 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1980 |
| predicted_ER | 0.2230 |
| predicted_ERA | 2.0031 |
| predicted_H | 0.4890 |
| predicted_HR | 0.0480 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3090 |
| predicted_WHIP | 0.6871 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1980 | 0.1028 | model_form_blend |
| predicted_ER | 0.0000 | 0.2230 | 0.1157 | model_form_blend |
| predicted_ERA | - | 2.0031 | 2.0031 | form_only |
| predicted_H | 0.0000 | 0.4890 | 0.2538 | model_form_blend |
| predicted_HR | 0.0000 | 0.0480 | 0.0249 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3090 | 1.6414 | model_form_blend |
| predicted_WHIP | - | 0.6871 | 0.6871 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.77 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260829_LAD@DET |
| game_type | full |
| mlbID | 683618 |
| playerID | 683618 |
| playerName | Edgardo Henriquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-29 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.241 |
| sl_xwoba | 0.243 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 25.8 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 71.493869032 |
| sl_avg_hyper_speed | 92.123082742 |
| 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.267 | 1.000 | -0.267 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.683 | 1.000 | -0.683 | -1.000 |
| predicted_IP | 0.100 | 1.100 | 0.100 | Pitching_InningsPitched | 0.852 | 1.000 | 0.248 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.117 | 0.000 | -0.117 | 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": "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": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 5.000 | 1.000 | 4.000 | 0.000 | 5.7857 | 1.2857 | 0.6429 | 1.0714 | 0.2143 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 8.000 | 2.000 | 7.000 | 0.000 | 3.8571 | 1.0714 | 0.4286 | 0.8571 | 0.2143 | 0.7500 | 0.0000 |
| season | 0.20 | 60 | 56.000 | 16.000 | 41.000 | 12.000 | 67.000 | 4.000 | 2.5714 | 0.9464 | 0.2857 | 0.7321 | 0.2143 | 1.1964 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2620 |
| predicted_ER | 0.4970 |
| predicted_ERA | 4.4710 |
| predicted_H | 0.9420 |
| predicted_HR | 0.0550 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9030 |
| predicted_WHIP | 1.2046 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2620 | 0.1363 | model_form_blend |
| predicted_ER | 0.0000 | 0.4970 | 0.2585 | model_form_blend |
| predicted_ERA | - | 4.4710 | 4.4710 | form_only |
| predicted_H | 0.0000 | 0.9420 | 0.4899 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0286 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9030 | 0.9496 | 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 | 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.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 | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.57 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260902_STL@LAD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-09-02 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.246 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 56.3 |
| sl_avg_best_speed | 77.631184265 |
| sl_avg_hyper_speed | 93.393897333 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TB 5 - 4 TEX | TB | 0.534 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TB 5 - 4 TEX | TB | - | 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.4601; empirical=0.5332; weight=0.5000; final=0.4966 |
| P1 | H2H margin as base feature | available | home net=-1; abs=1; home delta=-0.0068; away delta=0.0068 |
| 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.8662; recent edge=-0.2600; 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.4000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5337 |
| 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.564 | 3.634 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 4 | 0.5337 | 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 | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6951211782280783,
"base_low_score_probability": 0.4298046342571558,
"low_score_signal_threshold": 0.5098046342571558,
"low_score_signal_strength": 0.26531654397092247,
"confidence": 0.9,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.6172956800000005
},
"prediction": "low_scoring",
"expected_total_runs": 9,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.4,
"low_score_model_expected_total_runs": 6.4,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 377,
"near_bucket_sample_size": 377,
"medium_bucket_sample_size": 512,
"wide_bucket_sample_size": 577,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5332,
"bayesian_hit_rate": 0.5316,
"prior_strength": 18.0,
"raw_pick_probability": 0.5085,
"raw_pick_probability_unclamped": 0.5085,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4915,
"margin_implied_pick_probability": 0.5085,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5085,
"score_implied_floor_pick_probability": 0.5082,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.4915,
"uncapped_away_win_probability": 0.5085,
"calibrated_pick_probability": 0.5082,
"predicted_side": "away",
"reliability": 0.95443,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.97038
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.4601,
"sample_size": 377,
"empirical_hit_rate": 0.5332,
"empirical_weight": 0.5,
"blended_confidence": 0.49665,
"published_confidence": 0.533686,
"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": -1.0,
"absolute_net_margin": 1.0,
"home_average_margin": -0.333,
"home_run_delta": -0.0068,
"away_run_delta": 0.0068,
"evidence": [
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": -3.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": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 572,
"runs_allowed": 620,
"run_differential": -48,
"run_differential_per_game": -0.34285714285714286,
"available": true
},
"away": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971223021582733,
"runs_scored": 628,
"runs_allowed": 577,
"run_differential": 51,
"run_differential_per_game": 0.3669064748201439,
"available": true
},
"run_differential_edge_per_game": -0.7098,
"win_pct_edge": -0.1043,
"quality_edge": -0.654,
"season_quality_edge": -0.8662,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -0.8662,
"recent_quality_edge": -0.26,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -0.654
},
"margin_adjustment": -0.2747,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": -0.2747,
"cap": 1.4,
"scale": 0.42,
"quality_edge": -0.654,
"season_quality_edge": -0.8662,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 4.088,
"home_runs": 3.608,
"home_win_probability": 0.4592
}
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.027223704233712495
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.025959738140226625
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.025590422399952552
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.024790857482007805
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.02440228775252032
}
],
"home_distribution": {
"0": 0.05267804640418735,
"1": 0.0891634249415973,
"2": 0.12865907761276,
"3": 0.1582671326994166,
"4": 0.16597307674109812,
"5": 0.1483819809895756,
"6": 0.11308924235272046,
"7": 0.07347811961470686,
"8": 0.04069971635035749,
"9": 0.01921858199109978,
"10": 0.007736560192715393,
"11": 0.002655040109765078
},
"away_distribution": {
"0": 0.050382292503534466,
"1": 0.08545234508303325,
"2": 0.12406366706609721,
"3": 0.15418417795478434,
"4": 0.16402482118337078,
"5": 0.14936674049056242,
"6": 0.11643211921701621,
"7": 0.07769020514464703,
"8": 0.04437458472034893,
"9": 0.021695861650222827,
"10": 0.00908017192123729,
"11": 0.0032530130651455503
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "TB",
"opponent_team": "TEX",
"h2h_net_margin": 1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-07-30",
"predicted_team_runs": 3,
"opponent_runs": 2,
"margin_for_predicted_team": 1,
"winner": "TB"
},
{
"date": "2026-07-29",
"predicted_team_runs": 3,
"opponent_runs": 0,
"margin_for_predicted_team": 3,
"winner": "TB"
},
{
"date": "2026-07-28",
"predicted_team_runs": 1,
"opponent_runs": 4,
"margin_for_predicted_team": -3,
"winner": "TEX"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260730",
"away": "TEX",
"home": "TB",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "TB",
"actual_margin": 1,
"raw_pick_probability": 0.56,
"artifact": "20260730_TEX@TB.json",
"verification": "pregame_official_final"
},
{
"date": "20260728",
"away": "TEX",
"home": "TB",
"game_number": 1,
"predicted_team": "TB",
"actual_winner": "TEX",
"actual_margin": 3,
"raw_pick_probability": 0.59681,
"artifact": "20260728_TEX@TB.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TB",
"guardrail_opponent_team": "TEX",
"output_pre_simulation_winner": "TB",
"output_opponent_team": "TEX",
"simulation_score_winner": "TB",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"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.0494,
"recent_form_edge_home_minus_away": -0.3767,
"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": 4,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "TB",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.654,
"winner": "TB",
"score_reviewed": {
"away_runs": 5,
"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": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 572,
"runs_allowed": 620,
"run_differential": -48,
"run_differential_per_game": -0.34285714285714286,
"available": true
},
"away": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971223021582733,
"runs_scored": 628,
"runs_allowed": 577,
"run_differential": 51,
"run_differential_per_game": 0.3669064748201439,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.654,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.49665,
"final_confidence": 0.5082,
"calibrated_pick_probability": 0.5082,
"shrinkage_weight": 0.97038,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1,
"calibration_sample_size": 377,
"calibration_empirical_hit_rate": 0.5332,
"calibration_bayesian_hit_rate": 0.5316,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.654,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 4
},
"margin": -1,
"probability_before": 0.491752,
"margin_implied_home_probability": 0.415,
"shrinkage_weight": 0.97038,
"side_flipped": false,
"applied": true,
"probability_after": 0.453376,
"aligned_pick_probability": 0.546624
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"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.0494,
"recent_form_edge_home_minus_away": -0.3767,
"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": 4,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "TB",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.654,
"winner": "TB",
"score_reviewed": {
"away_runs": 5,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.53368584,
"home_win_probability": 0.46631416000000003,
"away_win_probability": 0.53368584,
"predicted_score_text": "TB 5 - 4 TEX",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "TB",
"original_runs": 5,
"run_delta": 0.0857,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": -0.010614102352412863,
"contact": 0.08787977860884885,
"power": -0.12409700282811052,
"discipline": 0.19620677549721788,
"xwoba": 0.31075,
"recent_xwoba": 0.31075,
"barrel": 6.059374999999999,
"ab_hard_contact": -0.08727338989554732,
"ab_bat_speed": 70.1487060223134,
"ab_strikeout_rate": 0.1860442165662742,
"available_players": 9,
"top_players": [
{
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"weight": 4.0,
"quality": -0.9471204508724765,
"contact": -0.7057767038385897,
"power": -1.5532791567862168,
"discipline": 0.4706611532518613,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 0.0,
"ab_hard_contact": -1.5642498023909974,
"ab_bat_speed": 61.57109367913832,
"ab_strikeout_rate": 0.081795195954488,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.0147758546285743,
"contact": 1.106069459597853,
"power": 1.3198070468039078,
"discipline": 0.49946479774705577,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 12.8,
"ab_hard_contact": 0.5302361741733921,
"ab_bat_speed": 78.63730939580134,
"ab_strikeout_rate": 0.19477726574500767,
"available": 1.0
},
{
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "RF",
"weight": 3.0,
"quality": -0.762615671135609,
"contact": -0.7936653483508378,
"power": -0.7958953320049077,
"discipline": -0.5177757098144422,
"xwoba": 0.266,
"recent_xwoba": 0.266,
"barrel": 3.5,
"ab_hard_contact": 0.0813314551399357,
"ab_bat_speed": 71.49018276324614,
"ab_strikeout_rate": 0.21208920187793429,
"available": 1.0
},
{
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"weight": 5.0,
"quality": 0.8090597088078371,
"contact": 1.1734283041949924,
"power": 0.6151800895026603,
"discipline": 0.6138611111111112,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 7.4,
"ab_hard_contact": 0.7691255995770114,
"ab_bat_speed": 72.87990694444444,
"ab_strikeout_rate": 0.14166666666666666,
"available": 1.0
},
{
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"weight": 3.0,
"quality": -0.7257921585040169,
"contact": -0.9663510586865699,
"power": -0.7377416718344713,
"discipline": 0.15532722832722834,
"xwoba": 0.265,
"recent_xwoba": 0.265,
"barrel": 4.4,
"ab_hard_contact": -0.9407381985941967,
"ab_bat_speed": 67.27801797161172,
"ab_strikeout_rate": 0.2110576923076923,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "615698",
"player_name": "Cal Quantrill",
"quality": -0.0727944410431592,
"contact": 0.27385594106189676,
"command": -0.4828293040293039,
"movement": -0.34707479845052214,
"xwoba": 0.309,
"whiff": 19.8,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "TEX",
"original_runs": 4,
"run_delta": 0.0388,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.1339788213838447,
"contact": -0.08314595560575991,
"power": 0.22915706626808394,
"discipline": -0.17473064828183404,
"xwoba": 0.30840625,
"recent_xwoba": 0.30840625,
"barrel": 9.225,
"ab_hard_contact": -0.017918198447847762,
"ab_bat_speed": 70.50428812835945,
"ab_strikeout_rate": 0.2495441403453262,
"available_players": 9,
"top_players": [
{
"player_id": "608369",
"player_name": "Corey Seager",
"position": "SS",
"weight": 4.0,
"quality": 0.8371747562954039,
"contact": 0.6491227928854688,
"power": 1.2689672468349245,
"discipline": 0.09348448773448782,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 14.5,
"ab_hard_contact": 0.8467735081270503,
"ab_bat_speed": 70.4043578042328,
"ab_strikeout_rate": 0.2507575757575758,
"available": 1.0
},
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 4.0,
"quality": 0.8949739738531044,
"contact": 1.0903828045918174,
"power": 1.0256538928287346,
"discipline": 0.019888888888888914,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 10.2,
"ab_hard_contact": 0.4006969041937506,
"ab_bat_speed": 71.1449591600529,
"ab_strikeout_rate": 0.2101388888888889,
"available": 1.0
},
{
"player_id": "683227",
"player_name": "Cody Freeman",
"position": "3B",
"weight": 3.0,
"quality": -0.1855282546585745,
"contact": -1.5669090343151086,
"power": -1.7042275287783517,
"discipline": 0.34038492063492065,
"xwoba": 0.238,
"recent_xwoba": 0.238,
"barrel": 1.8,
"ab_hard_contact": -1.4197886708051284,
"ab_bat_speed": 63.29315656565657,
"ab_strikeout_rate": 0.25,
"available": 1.0
},
{
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"position": "DH",
"weight": 3.0,
"quality": -0.6167541748606695,
"contact": -1.0147718711734879,
"power": -0.3326258390827934,
"discipline": -0.5469007936507939,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 9.4,
"ab_hard_contact": -0.37937392451302177,
"ab_bat_speed": 69.60623412698413,
"ab_strikeout_rate": 0.2585714285714286,
"available": 1.0
},
{
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"weight": 4.0,
"quality": 0.1946406955263759,
"contact": -0.0001310921018597779,
"power": 0.6722549998647144,
"discipline": -0.6081893090569559,
"xwoba": 0.31,
"recent_xwoba": 0.31,
"barrel": 11.7,
"ab_hard_contact": 0.5978619020561995,
"ab_bat_speed": 74.26890873015873,
"ab_strikeout_rate": 0.2641456582633053,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663556",
"player_name": "Shane McClanahan",
"quality": 0.026098181176262617,
"contact": 0.2130514727836424,
"command": -0.03811501831501818,
"movement": -0.06366746500798529,
"xwoba": 0.315,
"whiff": 27.3,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.654,
"recent_form_edge_home_minus_away": -0.3767,
"pitcher_matchup_edge_home_minus_away": -0.0494,
"composite_home_edge": -0.7425,
"existing_home_win_probability": 0.4534,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.7425
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.453376,
"uncapped_away_win_probability": 0.546624,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.546624,
"discount_factor": 0.7225,
"published_confidence": 0.533686,
"guardrail_confidence_cap": 0.56,
"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": 5,
"home_runs": 4,
"predicted_score_text": "TB 5 - 4 TEX",
"confidence": 0.53368584,
"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": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 TEX",
"winner": "TB"
},
"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.0494,
"recent_form_edge_home_minus_away": -0.3767,
"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": 4,
"winner": "TB",
"model_winner": "TB",
"simulation_winner": "TB",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 6,
"published_winner": "TB",
"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": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.654,
"winner": "TB",
"score_reviewed": {
"away_runs": 5,
"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": "TB",
"display_confidence": 0.5337,
"internal_signal_score": 0.5949,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5337,
"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": "neutral_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.654,
"winner_recent_form_edge": 0.26,
"winner_pitcher_matchup_edge": 0.0494,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.1667,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.1667,
"total_runs_spread": {
"min": 5,
"median": 9,
"max": 9,
"range": 4
}
},
"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 TB | True | 0.9989 | 0.9989 | 1 | 9 | 0 |
| Home TEX | True | 1.0153 | 1.0153 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Yandy Díaz | 61 | 1.0678 | 0.9040 | neutral | 0.3550 | 0.2860 | 0.4510 | 7.40 | 47.70 | 90.90 | 6.10 | 14.70 | 14.40 | 8.60 | -0.2857 |
| LF | Chandler Simpson | 122 | 0.9195 | -1.0729 | negative_batter_regression | 0.2620 | 0.2570 | 0.2940 | 0 | 12.80 | 83.60 | 1.30 | 10.40 | 8.10 | 4.50 | -1.4000 |
| 3B | Junior Caminero | 11 | 1.0868 | 1.1571 | neutral | 0.3630 | 0.2730 | 0.4940 | 12.80 | 49.90 | 92.90 | 9.20 | 24.50 | 18.30 | 11.60 | -0.5429 |
| 1B | Jonathan Aranda | 158 | 1.0726 | 0.9681 | neutral | 0.3500 | 0.2630 | 0.4470 | 9.70 | 46.20 | 91.20 | 14.10 | 21.40 | 23 | 10.40 | 0.2000 |
| RF | Jonny DeLuca | 161 | 0.9395 | -0.8067 | negative_batter_regression | 0.2660 | 0.2350 | 0.3370 | 3.50 | 29.50 | 85.70 | 14 | 25.40 | 20.50 | 4.30 | -1.3429 |
| SS | Jorge Mateo | 284 | 1.0234 | 0.3122 | neutral | 0.3110 | 0.2510 | 0.4160 | 8.90 | 41.10 | 88.50 | 14.30 | 31 | 28.10 | 6.40 | 0.8286 |
| 2B | Richie Palacios | 209 | 0.9835 | -0.2201 | neutral | 0.3030 | 0.2420 | 0.3290 | 3.40 | 27.60 | 86.20 | 13.40 | 21.30 | 17.80 | 11.40 | 0.0857 |
| CF | Cedric Mullins | 218 | 0.9417 | -0.7773 | neutral | 0.2650 | 0.1900 | 0.3160 | 4.40 | 32.50 | 87.90 | 26.20 | 22.30 | 19.40 | 8.60 | -0.6000 |
| C | Nick Fortes | 285 | 0.9554 | -0.5949 | neutral | 0.2780 | 0.2470 | 0.3320 | 2.10 | 34.20 | 85 | 8.20 | 17.30 | 12.50 | 3.10 | -0.5714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Ezequiel Duran | 18 | 0.9947 | -0.0712 | negative_batter_regression | 0.3040 | 0.2440 | 0.3780 | 6.50 | 37.90 | 88.90 | 11.90 | 27.10 | 23.70 | 7.90 | -1.1429 |
| SS | Corey Seager | 94 | 1.0910 | 1.2132 | positive_batter_regression | 0.3500 | 0.2480 | 0.4690 | 14.50 | 49.10 | 91.90 | 13 | 33.50 | 23.80 | 12.40 | 0.9143 |
| LF | Wyatt Langford | 66 | 1.0093 | 0.1239 | neutral | 0.3160 | 0.2390 | 0.3920 | 6.60 | 38.20 | 89.20 | 19.80 | 23.70 | 20.80 | 9.80 | -0.7429 |
| RF | Brandon Nimmo | 100 | 1.0921 | 1.2280 | neutral | 0.3570 | 0.2800 | 0.4730 | 10.20 | 50.80 | 92.30 | 10.60 | 22.30 | 21.30 | 7.90 | 0.6571 |
| 2B | Justin Foscue | 206 | 1.0277 | 0.3687 | neutral | 0.3290 | 0.2380 | 0.4520 | 11.80 | 40.40 | 89.40 | 19.70 | 19.50 | 24.90 | 7.30 | -0.7143 |
| 1B | Jake Burger | 118 | 1.0272 | 0.3625 | neutral | 0.3100 | 0.2320 | 0.4160 | 11.70 | 46.90 | 90.10 | 13.50 | 33.90 | 26.70 | 7.60 | -0.1143 |
| 3B | Cody Freeman | 280 | 0.9451 | -0.7318 | negative_batter_regression | 0.2380 | 0.1880 | 0.2480 | 1.80 | 20.70 | 82.80 | 9 | 15.70 | 15.60 | 7.80 | -2 |
| DH | Logan O'Hoppe | 652 | 0.9625 | -0.4998 | neutral | 0.2630 | 0.1990 | 0.3260 | 9.40 | 35.60 | 86.90 | 17.20 | 29.10 | 25.10 | 6.40 | 0.2571 |
| C | Elias Díaz | 233 | 0.9882 | -0.1569 | neutral | 0.2770 | 0.2250 | 0.3700 | 9.40 | 38.80 | 87.50 | 15.10 | 28.90 | 24.40 | 4.10 | -0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0153,
"raw_average_factor": 1.0153,
"team_espn_average_rank": 196.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 0.9947,
"quality_score": -0.0712,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 18,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 18,
"gp_value": 131.0,
"gp_rank": "69",
"ab_value": 457.0,
"ab_rank": "89",
"r_value": 62.0,
"r_rank": "90",
"h_value": 126.0,
"h_rank": "59",
"avg_value": 0.2757111,
"avg_rank": 30.0,
"2b_value": 26.0,
"2b_rank": "38",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 16.0,
"hr_rank": "98",
"rbi_value": 75.0,
"rbi_rank": "37",
"tb_value": 208.0,
"tb_rank": "429",
"bb_value": 40.0,
"bb_rank": "124",
"so_value": 120.0,
"so_rank": "61",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3359683,
"obp_rank": "64",
"slg_value": 0.4551422,
"slg_rank": "44",
"ops_value": 0.7911105,
"ops_rank": 50.0,
"war_value": 4.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 440.0,
"k_percent": 23.7,
"bb_percent": 7.9,
"woba": 0.344,
"xwoba": 0.304,
"xba": 0.244,
"xslg": 0.378,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 11.9,
"whiff_percent": 27.1,
"swing_percent": 51.1
},
"components": {
"expected_quality": 0.1033,
"regression_edge": -1.1429,
"xwoba_edge": 0.0857,
"xba_edge": 0.2286,
"xslg_edge": 0.1571,
"barrel_edge": -0.0333,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.3917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "608369",
"player_name": "Corey Seager",
"offense_factor": 1.091,
"quality_score": 1.2132,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "608369",
"espn_id": 32691,
"player_name": "Corey Seager",
"team": "TEX",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 94,
"gp_value": 80.0,
"gp_rank": "283",
"ab_value": 292.0,
"ab_rank": "225",
"r_value": 47.0,
"r_rank": "159",
"h_value": 65.0,
"h_rank": "236",
"avg_value": 0.2226027,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 13.0,
"hr_rank": "134",
"rbi_value": 35.0,
"rbi_rank": "225",
"tb_value": 118.0,
"tb_rank": "1416",
"bb_value": 42.0,
"bb_rank": "104",
"so_value": 81.0,
"so_rank": "168",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3235294,
"obp_rank": "-",
"slg_value": 0.4041095,
"slg_rank": "-",
"ops_value": 0.7276389,
"ops_rank": null,
"war_value": 2.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 279.0,
"k_percent": 23.8,
"bb_percent": 12.4,
"woba": 0.318,
"xwoba": 0.35,
"xba": 0.248,
"xslg": 0.469,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 49.1,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 13.0,
"whiff_percent": 33.5,
"swing_percent": 51.6
},
"components": {
"expected_quality": 1.2618,
"regression_edge": 0.9143,
"xwoba_edge": 1.4,
"xba_edge": 0.3429,
"xslg_edge": 1.4571,
"barrel_edge": 1.7444,
"hard_hit_edge": 1.6286,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": 0.525,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 1.0093,
"quality_score": 0.1239,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694671",
"espn_id": 4719324,
"player_name": "Wyatt Langford",
"team": "TEX",
"role": "batter",
"espn_rank": 66,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 66,
"gp_value": 88.0,
"gp_rank": "247",
"ab_value": 338.0,
"ab_rank": "181",
"r_value": 52.0,
"r_rank": "139",
"h_value": 85.0,
"h_rank": "170",
"avg_value": 0.2514792,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": "152",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 15.0,
"hr_rank": "108",
"rbi_value": 36.0,
"rbi_rank": "213",
"tb_value": 151.0,
"tb_rank": "786",
"bb_value": 37.0,
"bb_rank": "146",
"so_value": 79.0,
"so_rank": "177",
"sb_value": 10.0,
"sb_rank": "82",
"obp_value": 0.3324538,
"obp_rank": "-",
"slg_value": 0.4467455,
"slg_rank": "-",
"ops_value": 0.7791993,
"ops_rank": null,
"war_value": 2.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 320.0,
"k_percent": 20.8,
"bb_percent": 9.8,
"woba": 0.342,
"xwoba": 0.316,
"xba": 0.239,
"xslg": 0.392,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 19.8,
"whiff_percent": 23.7,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.265,
"regression_edge": -0.7429,
"xwoba_edge": 0.4286,
"xba_edge": 0.0857,
"xslg_edge": 0.3571,
"barrel_edge": -0.0111,
"hard_hit_edge": 0.0714,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.2083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.0921,
"quality_score": 1.228,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 100,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 100,
"gp_value": 134.0,
"gp_rank": "45",
"ab_value": 511.0,
"ab_rank": "31",
"r_value": 56.0,
"r_rank": "113",
"h_value": 138.0,
"h_rank": "27",
"avg_value": 0.2700587,
"avg_rank": 45.0,
"2b_value": 31.0,
"2b_rank": "9",
"3b_value": 4.0,
"3b_rank": "19",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 58.0,
"rbi_rank": "94",
"tb_value": 219.0,
"tb_rank": "425",
"bb_value": 45.0,
"bb_rank": "90",
"so_value": 121.0,
"so_rank": "57",
"sb_value": 7.0,
"sb_rank": "131",
"obp_value": 0.335097,
"obp_rank": "68",
"slg_value": 0.4285714,
"slg_rank": "62",
"ops_value": 0.7636684,
"ops_rank": 64.0,
"war_value": 2.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 504.0,
"k_percent": 21.3,
"bb_percent": 7.9,
"woba": 0.334,
"xwoba": 0.357,
"xba": 0.28,
"xslg": 0.473,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 50.8,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 10.6,
"whiff_percent": 22.3,
"swing_percent": 50.7
},
"components": {
"expected_quality": 1.321,
"regression_edge": 0.6571,
"xwoba_edge": 1.6,
"xba_edge": 1.2571,
"xslg_edge": 1.5143,
"barrel_edge": 0.7889,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.2583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "679822",
"player_name": "Justin Foscue",
"offense_factor": 1.0277,
"quality_score": 0.3687,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679822",
"espn_id": 4298639,
"player_name": "Justin Foscue",
"team": "TEX",
"role": "batter",
"espn_rank": 206,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 206,
"gp_value": 81.0,
"gp_rank": "277",
"ab_value": 186.0,
"ab_rank": "322",
"r_value": 22.0,
"r_rank": "321",
"h_value": 48.0,
"h_rank": "294",
"avg_value": 0.2580645,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": "272",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 11.0,
"hr_rank": "158",
"rbi_value": 27.0,
"rbi_rank": "278",
"tb_value": 93.0,
"tb_rank": "1306",
"bb_value": 15.0,
"bb_rank": "331",
"so_value": 51.0,
"so_rank": "289",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3219512,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.8219512,
"ops_rank": null,
"war_value": 0.97,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 24.9,
"bb_percent": 7.3,
"woba": 0.354,
"xwoba": 0.329,
"xba": 0.238,
"xslg": 0.452,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 19.7,
"whiff_percent": 19.5,
"swing_percent": 44.7
},
"components": {
"expected_quality": 0.7171,
"regression_edge": -0.7143,
"xwoba_edge": 0.8,
"xba_edge": 0.0571,
"xslg_edge": 1.2143,
"barrel_edge": 1.1444,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.3417,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0272,
"quality_score": 0.3625,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 118,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 118,
"gp_value": 133.0,
"gp_rank": "57",
"ab_value": 482.0,
"ab_rank": "72",
"r_value": 55.0,
"r_rank": "117",
"h_value": 113.0,
"h_rank": "87",
"avg_value": 0.2344398,
"avg_rank": 113.0,
"2b_value": 21.0,
"2b_rank": "95",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 23.0,
"hr_rank": "33",
"rbi_value": 78.0,
"rbi_rank": "29",
"tb_value": 203.0,
"tb_rank": "857",
"bb_value": 40.0,
"bb_rank": "124",
"so_value": 141.0,
"so_rank": "28",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.2973484,
"obp_rank": "127",
"slg_value": 0.4211618,
"slg_rank": "70",
"ops_value": 0.7185102,
"ops_rank": 97.0,
"war_value": 1.86,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 470.0,
"k_percent": 26.7,
"bb_percent": 7.6,
"woba": 0.314,
"xwoba": 0.31,
"xba": 0.232,
"xslg": 0.416,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 46.9,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 13.5,
"whiff_percent": 33.9,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.4401,
"regression_edge": -0.1143,
"xwoba_edge": 0.2571,
"xba_edge": -0.1143,
"xslg_edge": 0.7,
"barrel_edge": 1.1222,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.675,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "683227",
"player_name": "Cody Freeman",
"offense_factor": 0.9451,
"quality_score": -0.7318,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683227",
"espn_id": 42925,
"player_name": "Cody Freeman",
"team": "TEX",
"role": "batter",
"espn_rank": 280,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 280,
"gp_value": 24.0,
"gp_rank": "490",
"ab_value": 68.0,
"ab_rank": "475",
"r_value": 7.0,
"r_rank": "475",
"h_value": 20.0,
"h_rank": "435",
"avg_value": 0.2941176,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": "510",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 6.0,
"rbi_rank": "483",
"tb_value": 26.0,
"tb_rank": "2582",
"bb_value": 6.0,
"bb_rank": "446",
"so_value": 12.0,
"so_rank": "520",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.36,
"obp_rank": "-",
"slg_value": 0.3823529,
"slg_rank": "-",
"ops_value": 0.7423529,
"ops_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 29.0,
"k_percent": 15.6,
"bb_percent": 7.8,
"woba": 0.333,
"xwoba": 0.238,
"xba": 0.188,
"xslg": 0.248,
"sweet_spot_percent": 24.1,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 20.7,
"exit_velocity_avg": 82.8,
"launch_angle_avg": 9.0,
"whiff_percent": 15.7,
"swing_percent": 43.3
},
"components": {
"expected_quality": -1.5655,
"regression_edge": -2.0,
"xwoba_edge": -1.8,
"xba_edge": -1.3714,
"xslg_edge": -1.7,
"barrel_edge": -1.0778,
"hard_hit_edge": -2.4286,
"exit_velocity_edge": -2.28,
"sweet_spot_edge": -1.525,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"offense_factor": 0.9625,
"quality_score": -0.4998,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681351",
"espn_id": 42047,
"player_name": "Logan O'Hoppe",
"team": "TEX",
"role": "batter",
"espn_rank": 652,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 652,
"gp_value": 81.0,
"gp_rank": "277",
"ab_value": 243.0,
"ab_rank": "265",
"r_value": 22.0,
"r_rank": "321",
"h_value": 51.0,
"h_rank": "285",
"avg_value": 0.2098765,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 24.0,
"rbi_rank": "296",
"tb_value": 72.0,
"tb_rank": "2127",
"bb_value": 17.0,
"bb_rank": "311",
"so_value": 66.0,
"so_rank": "228",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2679245,
"obp_rank": "-",
"slg_value": 0.2962962,
"slg_rank": "-",
"ops_value": 0.5642207,
"ops_rank": null,
"war_value": -1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 249.0,
"k_percent": 25.1,
"bb_percent": 6.4,
"woba": 0.254,
"xwoba": 0.263,
"xba": 0.199,
"xslg": 0.326,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 35.6,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 17.2,
"whiff_percent": 29.1,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.623,
"regression_edge": 0.2571,
"xwoba_edge": -1.0857,
"xba_edge": -1.0571,
"xslg_edge": -0.5857,
"barrel_edge": 0.6111,
"hard_hit_edge": -0.3,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.6417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "553869",
"player_name": "Elias Díaz",
"offense_factor": 0.9882,
"quality_score": -0.1569,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553869",
"espn_id": 33594,
"player_name": "Elias Diaz",
"team": "TEX",
"role": "batter",
"espn_rank": 233,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 233,
"gp_value": 73.0,
"gp_rank": "310",
"ab_value": 183.0,
"ab_rank": "326",
"r_value": 17.0,
"r_rank": "372",
"h_value": 42.0,
"h_rank": "325",
"avg_value": 0.2295081,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 24.0,
"rbi_rank": "296",
"tb_value": 72.0,
"tb_rank": "1944",
"bb_value": 8.0,
"bb_rank": "415",
"so_value": 48.0,
"so_rank": "308",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2666666,
"obp_rank": "-",
"slg_value": 0.3934426,
"slg_rank": "-",
"ops_value": 0.6601092,
"ops_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 159.0,
"k_percent": 24.4,
"bb_percent": 4.1,
"woba": 0.284,
"xwoba": 0.277,
"xba": 0.225,
"xslg": 0.37,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 15.1,
"whiff_percent": 28.9,
"swing_percent": 54.4
},
"components": {
"expected_quality": -0.2199,
"regression_edge": -0.2,
"xwoba_edge": -0.6857,
"xba_edge": -0.3143,
"xslg_edge": 0.0429,
"barrel_edge": 0.6111,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.2083,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9989,
"raw_average_factor": 0.9989,
"team_espn_average_rank": 167.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0678,
"quality_score": 0.904,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 61,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 61,
"gp_value": 134.0,
"gp_rank": "45",
"ab_value": 530.0,
"ab_rank": "18",
"r_value": 80.0,
"r_rank": "30",
"h_value": 160.0,
"h_rank": "3",
"avg_value": 0.3018867,
"avg_rank": 7.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 21.0,
"hr_rank": "48",
"rbi_value": 76.0,
"rbi_rank": "33",
"tb_value": 248.0,
"tb_rank": "476",
"bb_value": 51.0,
"bb_rank": "68",
"so_value": 86.0,
"so_rank": "147",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3708053,
"obp_rank": "16",
"slg_value": 0.4679245,
"slg_rank": "35",
"ops_value": 0.8387298,
"ops_rank": 22.0,
"war_value": 2.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 531.0,
"k_percent": 14.4,
"bb_percent": 8.6,
"woba": 0.365,
"xwoba": 0.355,
"xba": 0.286,
"xslg": 0.451,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 6.1,
"whiff_percent": 14.7,
"swing_percent": 47.0
},
"components": {
"expected_quality": 1.0977,
"regression_edge": -0.2857,
"xwoba_edge": 1.5429,
"xba_edge": 1.4286,
"xslg_edge": 1.2,
"barrel_edge": 0.1667,
"hard_hit_edge": 1.4286,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.525,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9195,
"quality_score": -1.0729,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "802415",
"espn_id": 4679983,
"player_name": "Chandler Simpson",
"team": "TB",
"role": "batter",
"espn_rank": 122,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 122,
"gp_value": 131.0,
"gp_rank": "69",
"ab_value": 491.0,
"ab_rank": "64",
"r_value": 55.0,
"r_rank": "117",
"h_value": 153.0,
"h_rank": "7",
"avg_value": 0.3116089,
"avg_rank": 3.0,
"2b_value": 14.0,
"2b_rank": "202",
"3b_value": 6.0,
"3b_rank": "6",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 31.0,
"rbi_rank": "255",
"tb_value": 179.0,
"tb_rank": "1805",
"bb_value": 24.0,
"bb_rank": "236",
"so_value": 43.0,
"so_rank": "335",
"sb_value": 38.0,
"sb_rank": "3",
"obp_value": 0.3397312,
"obp_rank": "57",
"slg_value": 0.3645621,
"slg_rank": "124",
"ops_value": 0.7042933,
"ops_rank": 110.0,
"war_value": 1.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 463.0,
"k_percent": 8.1,
"bb_percent": 4.5,
"woba": 0.311,
"xwoba": 0.262,
"xba": 0.257,
"xslg": 0.294,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 12.8,
"exit_velocity_avg": 83.6,
"launch_angle_avg": 1.3,
"whiff_percent": 10.4,
"swing_percent": 47.6
},
"components": {
"expected_quality": -1.0197,
"regression_edge": -1.4,
"xwoba_edge": -1.1143,
"xba_edge": 0.6,
"xslg_edge": -1.0429,
"barrel_edge": -1.4778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -1.1583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0868,
"quality_score": 1.1571,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 11,
"gp_value": 139.0,
"gp_rank": "10",
"ab_value": 531.0,
"ab_rank": "16",
"r_value": 85.0,
"r_rank": "15",
"h_value": 149.0,
"h_rank": "14",
"avg_value": 0.2806026,
"avg_rank": 24.0,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 37.0,
"hr_rank": "3",
"rbi_value": 88.0,
"rbi_rank": "8",
"tb_value": 282.0,
"tb_rank": "372",
"bb_value": 70.0,
"bb_rank": "19",
"so_value": 111.0,
"so_rank": "79",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.3663366,
"obp_rank": "22",
"slg_value": 0.5310734,
"slg_rank": "6",
"ops_value": 0.89741,
"ops_rank": 7.0,
"war_value": 4.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 534.0,
"k_percent": 18.3,
"bb_percent": 11.6,
"woba": 0.382,
"xwoba": 0.363,
"xba": 0.273,
"xslg": 0.494,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 49.9,
"exit_velocity_avg": 92.9,
"launch_angle_avg": 9.2,
"whiff_percent": 24.5,
"swing_percent": 43.4
},
"components": {
"expected_quality": 1.4338,
"regression_edge": -0.5429,
"xwoba_edge": 1.7714,
"xba_edge": 1.0571,
"xslg_edge": 1.8143,
"barrel_edge": 1.3667,
"hard_hit_edge": 1.7429,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": -1.1583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0726,
"quality_score": 0.9681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 158,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 158,
"gp_value": 135.0,
"gp_rank": "36",
"ab_value": 510.0,
"ab_rank": "34",
"r_value": 64.0,
"r_rank": "82",
"h_value": 141.0,
"h_rank": "20",
"avg_value": 0.2764705,
"avg_rank": 30.0,
"2b_value": 21.0,
"2b_rank": "95",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 17.0,
"hr_rank": "82",
"rbi_value": 80.0,
"rbi_rank": "18",
"tb_value": 213.0,
"tb_rank": "937",
"bb_value": 61.0,
"bb_rank": "39",
"so_value": 135.0,
"so_rank": "37",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3594548,
"obp_rank": "32",
"slg_value": 0.417647,
"slg_rank": "78",
"ops_value": 0.7771018,
"ops_rank": 56.0,
"war_value": 1.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 530.0,
"k_percent": 23.0,
"bb_percent": 10.4,
"woba": 0.343,
"xwoba": 0.35,
"xba": 0.263,
"xslg": 0.447,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 14.1,
"whiff_percent": 21.4,
"swing_percent": 46.9
},
"components": {
"expected_quality": 1.0931,
"regression_edge": 0.2,
"xwoba_edge": 1.4,
"xba_edge": 0.7714,
"xslg_edge": 1.1429,
"barrel_edge": 0.6778,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.9583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"offense_factor": 0.9395,
"quality_score": -0.8067,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676356",
"espn_id": 5005912,
"player_name": "Jonny DeLuca",
"team": "TB",
"role": "batter",
"espn_rank": 161,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 161,
"gp_value": 92.0,
"gp_rank": "233",
"ab_value": 286.0,
"ab_rank": "227",
"r_value": 36.0,
"r_rank": "221",
"h_value": 75.0,
"h_rank": "198",
"avg_value": 0.2622377,
"avg_rank": null,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 42.0,
"rbi_rank": "177",
"tb_value": 122.0,
"tb_rank": "1482",
"bb_value": 13.0,
"bb_rank": "350",
"so_value": 62.0,
"so_rank": "245",
"sb_value": 14.0,
"sb_rank": "56",
"obp_value": 0.2943143,
"obp_rank": "-",
"slg_value": 0.4265734,
"slg_rank": "-",
"ops_value": 0.7208877,
"ops_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 246.0,
"k_percent": 20.5,
"bb_percent": 4.3,
"woba": 0.313,
"xwoba": 0.266,
"xba": 0.235,
"xslg": 0.337,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 29.5,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 14.0,
"whiff_percent": 25.4,
"swing_percent": 53.6
},
"components": {
"expected_quality": -0.7194,
"regression_edge": -1.3429,
"xwoba_edge": -1.0,
"xba_edge": -0.0286,
"xslg_edge": -0.4286,
"barrel_edge": -0.7,
"hard_hit_edge": -1.1714,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.625,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "622761",
"player_name": "Jorge Mateo",
"offense_factor": 1.0234,
"quality_score": 0.3122,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622761",
"espn_id": 33832,
"player_name": "Jorge Mateo",
"team": "TB",
"role": "batter",
"espn_rank": 284,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 284,
"gp_value": 78.0,
"gp_rank": "293",
"ab_value": 159.0,
"ab_rank": "357",
"r_value": 35.0,
"r_rank": "228",
"h_value": 36.0,
"h_rank": "357",
"avg_value": 0.226415,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 16.0,
"rbi_rank": "359",
"tb_value": 58.0,
"tb_rank": "2148",
"bb_value": 11.0,
"bb_rank": "370",
"so_value": 48.0,
"so_rank": "308",
"sb_value": 15.0,
"sb_rank": "53",
"obp_value": 0.2748538,
"obp_rank": "-",
"slg_value": 0.3647798,
"slg_rank": "-",
"ops_value": 0.6396336,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 142.0,
"k_percent": 28.1,
"bb_percent": 6.4,
"woba": 0.282,
"xwoba": 0.311,
"xba": 0.251,
"xslg": 0.416,
"sweet_spot_percent": 44.6,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 14.3,
"whiff_percent": 31.0,
"swing_percent": 54.1
},
"components": {
"expected_quality": 0.4275,
"regression_edge": 0.8286,
"xwoba_edge": 0.2857,
"xba_edge": 0.4286,
"xslg_edge": 0.7,
"barrel_edge": 0.5,
"hard_hit_edge": 0.4857,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 1.8917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9835,
"quality_score": -0.2201,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680700",
"espn_id": 41359,
"player_name": "Richie Palacios",
"team": "TB",
"role": "batter",
"espn_rank": 209,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 209,
"gp_value": 105.0,
"gp_rank": "171",
"ab_value": 296.0,
"ab_rank": "219",
"r_value": 44.0,
"r_rank": "175",
"h_value": 67.0,
"h_rank": "231",
"avg_value": 0.2263513,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": "227",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 6.0,
"hr_rank": "272",
"rbi_value": 41.0,
"rbi_rank": "182",
"tb_value": 101.0,
"tb_rank": "1414",
"bb_value": 39.0,
"bb_rank": "129",
"so_value": 61.0,
"so_rank": "249",
"sb_value": 11.0,
"sb_rank": "73",
"obp_value": 0.3205882,
"obp_rank": "-",
"slg_value": 0.3412162,
"slg_rank": "-",
"ops_value": 0.6618044,
"ops_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 302.0,
"k_percent": 17.8,
"bb_percent": 11.4,
"woba": 0.3,
"xwoba": 0.303,
"xba": 0.242,
"xslg": 0.329,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 27.6,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 13.4,
"whiff_percent": 21.3,
"swing_percent": 46.4
},
"components": {
"expected_quality": -0.2699,
"regression_edge": 0.0857,
"xwoba_edge": 0.0571,
"xba_edge": 0.1714,
"xslg_edge": -0.5429,
"barrel_edge": -0.7222,
"hard_hit_edge": -1.4429,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.0417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9417,
"quality_score": -0.7773,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 218,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 218,
"gp_value": 121.0,
"gp_rank": "123",
"ab_value": 395.0,
"ab_rank": "130",
"r_value": 52.0,
"r_rank": "139",
"h_value": 82.0,
"h_rank": "182",
"avg_value": 0.2075949,
"avg_rank": 143.0,
"2b_value": 10.0,
"2b_rank": "272",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 14.0,
"hr_rank": "117",
"rbi_value": 43.0,
"rbi_rank": "174",
"tb_value": 140.0,
"tb_rank": "507",
"bb_value": 39.0,
"bb_rank": "129",
"so_value": 88.0,
"so_rank": "143",
"sb_value": 18.0,
"sb_rank": "35",
"obp_value": 0.2876404,
"obp_rank": "140",
"slg_value": 0.3544303,
"slg_rank": "135",
"ops_value": 0.6420707,
"ops_rank": 140.0,
"war_value": 0.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 407.0,
"k_percent": 19.4,
"bb_percent": 8.6,
"woba": 0.286,
"xwoba": 0.265,
"xba": 0.19,
"xslg": 0.316,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 32.5,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 26.2,
"whiff_percent": 22.3,
"swing_percent": 49.6
},
"components": {
"expected_quality": -0.8062,
"regression_edge": -0.6,
"xwoba_edge": -1.0286,
"xba_edge": -1.3143,
"xslg_edge": -0.7286,
"barrel_edge": -0.5,
"hard_hit_edge": -0.7429,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -1.375,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663743",
"player_name": "Nick Fortes",
"offense_factor": 0.9554,
"quality_score": -0.5949,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663743",
"espn_id": 41674,
"player_name": "Nick Fortes",
"team": "TB",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 285,
"gp_value": 94.0,
"gp_rank": "222",
"ab_value": 266.0,
"ab_rank": "238",
"r_value": 29.0,
"r_rank": "268",
"h_value": 70.0,
"h_rank": "223",
"avg_value": 0.2631578,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": "189",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 30.0,
"rbi_rank": "260",
"tb_value": 97.0,
"tb_rank": "1969",
"bb_value": 9.0,
"bb_rank": "401",
"so_value": 36.0,
"so_rank": "368",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.306338,
"obp_rank": "-",
"slg_value": 0.3646616,
"slg_rank": "-",
"ops_value": 0.6709996,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 269.0,
"k_percent": 12.5,
"bb_percent": 3.1,
"woba": 0.298,
"xwoba": 0.278,
"xba": 0.247,
"xslg": 0.332,
"sweet_spot_percent": 24.3,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 34.2,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 8.2,
"whiff_percent": 17.3,
"swing_percent": 52.6
},
"components": {
"expected_quality": -0.5987,
"regression_edge": -0.5714,
"xwoba_edge": -0.6571,
"xba_edge": 0.3143,
"xslg_edge": -0.5,
"barrel_edge": -1.0111,
"hard_hit_edge": -0.5,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -1.4917,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | True | 103 | -0.0406 | 1 | 1.0034 | 1.0131 | 0.9820 | 1.0478 | negative_pitcher_regression | 0.3150 | 0.2680 | 22.10 | 8.20 | 27.30 | 8.80 | 40.90 | |
| Home TEX | True | 134 | -0.0691 | 1 | 1.0059 | 0.9497 | 0.9380 | 0.9934 | neutral | 0.3090 | 0.2850 | 18.50 | 6 | 19.80 | 7.70 | 35.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | True | None | 66 | 89.68 | 2098 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0106 | |
| Home TEX | True | None | 68 | 89.84 | 1953 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0014 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0072 |
| home_runs_vs_away_pitcher | 1.0056 |
| home_pitcher_starter_only_factor | 1.0059 |
| away_pitcher_starter_only_factor | 1.0034 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.6296 |
| home_pitcher_quality_edge | -0.0179 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "615698",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 310.0,
"k_percent": 18.5,
"bb_percent": 6.0,
"woba": 0.285,
"xwoba": 0.309,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 35.7,
"avg_best_speed": 78.5319,
"avg_hyper_speed": 93.6952,
"whiff_percent": 19.8,
"swing_percent": 48.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1541,
"command_and_miss": -0.3336,
"regression_edge": -0.6857,
"xwoba_edge": 0.0571,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.3,
"whiff_edge": -0.7714,
"bb_edge": 0.775,
"pitch_design_score": -0.0014
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "615698",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 68,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8426,
"release_spin_rate": 1952.7641,
"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.0014,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0102,
"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.0691,
"sample_weight": 1.0,
"run_prevention_factor": 1.0059,
"strikeout_factor": 0.9497,
"walk_factor": 0.938,
"homer_factor": 0.9934,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "615698",
"espn_id": 39875,
"player_name": "Cal Quantrill",
"team": "TEX",
"role": "pitcher",
"espn_rank": 134,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 134,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 11.0,
"gs_rank": 160,
"qs_value": 5.0,
"qs_rank": 108,
"era_value": 3.0111,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 89.2,
"ip_rank": 138,
"h_value": 77.0,
"h_rank": 151,
"er_value": 30.0,
"er_rank": 182,
"hr_value": 11.0,
"hr_rank": 140,
"bb_value": 22.0,
"bb_rank": 244,
"k_value": 68.0,
"k_rank": 175,
"k_per_9_value": 6.8252788,
"k_per_9_rank": 34,
"whip_value": 1.104,
"whip_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "663556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 22.1,
"bb_percent": 8.2,
"woba": 0.268,
"xwoba": 0.315,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 40.9,
"avg_best_speed": 77.8008,
"avg_hyper_speed": 94.4896,
"whiff_percent": 27.3,
"swing_percent": 48.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0933,
"command_and_miss": 0.1629,
"regression_edge": -1.3429,
"xwoba_edge": -0.1143,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.4429,
"whiff_edge": 0.3,
"bb_edge": 0.225,
"pitch_design_score": -0.0106
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6779,
"release_spin_rate": 2098.2361,
"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.0106,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0761,
"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.0406,
"sample_weight": 1.0,
"run_prevention_factor": 1.0034,
"strikeout_factor": 1.0131,
"walk_factor": 0.982,
"homer_factor": 1.0478,
"woba_minus_xwoba": -0.047,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663556",
"espn_id": 41199,
"player_name": "Shane McClanahan",
"team": "TB",
"role": "pitcher",
"espn_rank": 103,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 103,
"gp_value": 23.0,
"gp_rank": 336,
"gs_value": 23.0,
"gs_rank": 72,
"qs_value": 4.0,
"qs_rank": 121,
"era_value": 3.1858,
"era_rank": null,
"w_value": 10.0,
"w_rank": 26,
"l_value": 6.0,
"l_rank": 105,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 113.0,
"ip_rank": 97,
"h_value": 87.0,
"h_rank": 126,
"er_value": 40.0,
"er_rank": 141,
"hr_value": 9.0,
"hr_rank": 171,
"bb_value": 38.0,
"bb_rank": 89,
"k_value": 103.0,
"k_rank": 88,
"k_per_9_value": 8.20354,
"k_per_9_rank": 24,
"whip_value": 1.1061,
"whip_rank": null,
"war_value": 1.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0072,
"home_runs_vs_away_pitcher": 1.0056,
"home_pitcher_starter_only_factor": 1.0059,
"away_pitcher_starter_only_factor": 1.0034,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.6296,
"home_pitcher_quality_edge": -0.0179
},
"score_before": {
"away_runs": 4.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 4.0289,
"home_runs": 4.0226,
"home_win_probability": 0.4991
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away TB | 7-3 | 0.700 | 4.40 | 3.50 | 9 | 1L | average | average |
| Home TEX | 5-5 | 0.500 | 5.60 | 5.60 | 0 | 1L | hot | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TB | 83-56 | 0.597 | 51 | 0.367 | True |
| Home TEX | 69-71 | 0.493 | -48 | -0.343 | True |
| Signal | - | - | -0.710 | -0.654 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-07-30 | TEX @ TB | 2 - 3 | TB | 1 | close |
| 2026-07-29 | TEX @ TB | 0 - 3 | TB | 3 | blowout |
| 2026-07-28 | TEX @ TB | 4 - 1 | TEX | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TB | - | - | 5 | - | - | - | - |
| Game target TEX | - | - | 4 | - | - | - | - |
| Player finalized TB | 32 | 8 | 5 | 1 | 4 | 3 | 6 |
| Player finalized TEX | 32 | 8 | 5 | 1 | 4 | 3 | 8 |
| Player model fractional TB | 32.19 | 7.93 | 4.31 | 1.00 | 4.10 | 2.69 | 5.99 |
| Player model fractional TEX | 30.55 | 7.33 | 3.66 | 1.09 | 3.91 | 2.76 | 7.61 |
| Simulation box TB | 35 | 8 | 5 | 1 | 5 | 1 | 4 |
| Simulation box TEX | 35 | 8 | 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 TB | Starter | Shane McClanahan | 5.10 | 2 | 5 | 3 | 1 | 3.43 | 1.05 | True |
| Away TB | Middle Reliever (High Leverage) | Tyler Wells | 1.10 | 0 | 2 | 2 | 1 | 2.12 | 0.86 | True |
| Away TB | Closer | Bryan Baker | 1.10 | 0 | 0 | 1 | 0 | 2.56 | 1.10 | True |
| Away TB | Setup Man | Kevin Kelly | 1 | 2 | 1 | 2 | 0 | 1.95 | 0.87 | True |
| Home TEX | Starter | Cal Quantrill | 5.20 | 3 | 4 | 3 | 1 | 2.55 | 1.02 | True |
| Home TEX | Closer | Jacob Latz | 1.10 | 1 | 0 | 3 | 0 | 1.66 | 1.02 | True |
| Home TEX | Setup Man | Jakob Junis | 1 | 0 | 0 | 0 | 0 | 2.36 | 1.38 | True |
| Home TEX | Middle Reliever (High Leverage) | Chase Silseth | 1 | 1 | 0 | 2 | 0 | 4.14 | 1.48 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | TB | batter | SS | Jorge Mateo | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.7400 | boost | better |
| home | TEX | batter | CF | Ezequiel Duran | better | 10 | 7 | 3 | 6 | 4 | predicted_SO | 2.0700 | boost | worse |
| home | TEX | pitcher | Starter | Cal Quantrill | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| home | TEX | batter | SS | Corey Seager | worse | 9 | 4 | 5 | 4 | 5 | predicted_RBI | 1.5300 | boost | better |
| home | TEX | batter | 2B | Justin Foscue | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.5000 | boost | better |
| away | TB | batter | LF | Chandler Simpson | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | -1.4300 | deboost | worse |
| away | TB | batter | CF | Cedric Mullins | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.3600 | boost | better |
| home | TEX | batter | RF | Brandon Nimmo | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -1.1900 | deboost | worse |
| away | TB | batter | 3B | Junior Caminero | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.1200 | deboost | worse |
| home | TEX | batter | LF | Wyatt Langford | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.1020 | boost | worse |
| home | TEX | batter | 3B | Cody Freeman | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.1000 | boost | better |
| away | TB | batter | 2B | Richie Palacios | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.0690 | boost | better |
| home | TEX | batter | 1B | Jake Burger | worse | 9 | 3 | 6 | 4 | 5 | predicted_SO | -1.0680 | deboost | better |
| away | TB | batter | C | Nick Fortes | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 1.0000 | boost | better |
| home | TEX | pitcher | Closer | Jacob Latz | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | TEX | pitcher | Middle Reliever (High Leverage) | Chase Silseth | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | TB | batter | 1B | Jonathan Aranda | worse | 9 | 2 | 7 | 2 | 7 | predicted_H | -0.9700 | deboost | worse |
| home | TEX | batter | C | Elias Díaz | worse | 10 | 1 | 9 | 2 | 8 | predicted_BB | 0.9020 | boost | better |
| home | TEX | batter | DH | Logan O'Hoppe | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.8570 | deboost | better |
| away | TB | batter | RF | Jonny DeLuca | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.6820 | boost | better |
| away | TB | batter | DH | Yandy Díaz | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -0.6800 | deboost | worse |
| away | TB | pitcher | Starter | Shane McClanahan | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.5667 | deboost | worse |
| away | TB | pitcher | Middle Reliever (High Leverage) | Tyler Wells | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | TB | pitcher | Closer | Bryan Baker | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Shane McClanahan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0406 |
| ESPN Rank | 103 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0106 |
| Avg Velo | 89.6779 |
| Avg Spin | 2098.2361 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 3.1858 |
| Season WHIP | 1.1062 |
| Role Avg IP | 4.9130 |
| Recent Avg IP | 4.4000 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"opponent": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"edges": {
"quality_edge": 0.2455,
"offense_edge": 0.006,
"opponent_offense_edge": -0.0903,
"defense_strength": 0.0819,
"opponent_defense_weakness": -0.0141,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0159,
"run_prevention": 0.9651,
"strikeout": 1.0146
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663556",
"profile": {
"available": true,
"pitcher_id": "663556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 22.1,
"bb_percent": 8.2,
"woba": 0.268,
"xwoba": 0.315,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 40.9,
"avg_best_speed": 77.8008,
"avg_hyper_speed": 94.4896,
"whiff_percent": 27.3,
"swing_percent": 48.5
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.0933,
"command_and_miss": 0.1629,
"regression_edge": -1.3429,
"xwoba_edge": -0.1143,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.4429,
"whiff_edge": 0.3,
"bb_edge": 0.225,
"pitch_design_score": -0.0106
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6779,
"release_spin_rate": 2098.2361,
"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.0106,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0761,
"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.0406,
"sample_weight": 1.0,
"run_prevention_factor": 1.0034,
"strikeout_factor": 1.0131,
"walk_factor": 0.982,
"homer_factor": 1.0478,
"woba_minus_xwoba": -0.047,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663556",
"espn_id": 41199,
"player_name": "Shane McClanahan",
"team": "TB",
"role": "pitcher",
"espn_rank": 103,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 103,
"gp_value": 23.0,
"gp_rank": 336,
"gs_value": 23.0,
"gs_rank": 72,
"qs_value": 4.0,
"qs_rank": 121,
"era_value": 3.1858,
"era_rank": null,
"w_value": 10.0,
"w_rank": 26,
"l_value": 6.0,
"l_rank": 105,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 113.0,
"ip_rank": 97,
"h_value": 87.0,
"h_rank": 126,
"er_value": 40.0,
"er_rank": 141,
"hr_value": 9.0,
"hr_rank": 171,
"bb_value": 38.0,
"bb_rank": 89,
"k_value": 103.0,
"k_rank": 88,
"k_per_9_value": 8.20354,
"k_per_9_rank": 24,
"whip_value": 1.1061,
"whip_rank": null,
"war_value": 1.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0034,
"adjusted": 2
},
"predicted_H": {
"original": 3.0,
"factor": 1.0034,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 0.982,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0478,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0131,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 49.0,
"ER": 17,
"H": 34,
"BB": 16,
"SO": 37,
"HR": 6,
"ERA": 3.1224489795918373,
"WHIP": 1.0204081632653064,
"K9": 6.79591836734694,
"HR9": 1.1020408163265307,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "663556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 66,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 66,
"pitch_usage": 0.0,
"release_speed": 89.67791963059732,
"release_spin_rate": 2098.2361334703396,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6779,
"release_spin_rate": 2098.2361,
"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.0106,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0761,
"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": "663556",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 8.0,
"R": 9.0,
"H": 13.0,
"BB": 7.0,
"SO": 18.0,
"HR": 2.0,
"BF": 88.0,
"Pitches": 331.0
},
"per_game": {
"IP": 4.1,
"ER": 1.6,
"R": 1.8,
"H": 2.6,
"BB": 1.4,
"SO": 3.6,
"HR": 0.4,
"BF": 17.6,
"Pitches": 66.2
},
"rates": {
"ERA": 3.2727,
"WHIP": 0.9091,
"ER_per_IP": 0.36364,
"H_per_IP": 0.59091,
"BB_per_IP": 0.31818,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.09091
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.0,
"ER": 17.0,
"R": 23.0,
"H": 34.0,
"BB": 16.0,
"SO": 37.0,
"HR": 6.0,
"BF": 198.0,
"Pitches": 730.0
},
"per_game": {
"IP": 5.0,
"ER": 1.7,
"R": 2.3,
"H": 3.4,
"BB": 1.6,
"SO": 3.7,
"HR": 0.6,
"BF": 19.8,
"Pitches": 73.0
},
"rates": {
"ERA": 3.1224,
"WHIP": 1.0204,
"ER_per_IP": 0.34694,
"H_per_IP": 0.69388,
"BB_per_IP": 0.32653,
"SO_per_IP": 0.7551,
"HR_per_IP": 0.12245
}
},
"season": {
"games": 23,
"totals": {
"IP": 113.0,
"ER": 40.0,
"R": 48.0,
"H": 87.0,
"BB": 38.0,
"SO": 103.0,
"HR": 9.0,
"BF": 466.0,
"Pitches": 1758.0
},
"per_game": {
"IP": 5.0,
"ER": 1.7391,
"R": 2.087,
"H": 3.7826,
"BB": 1.6522,
"SO": 4.4783,
"HR": 0.3913,
"BF": 20.2609,
"Pitches": 76.4348
},
"rates": {
"ERA": 3.1858,
"WHIP": 1.1062,
"ER_per_IP": 0.35398,
"H_per_IP": 0.76991,
"BB_per_IP": 0.33628,
"SO_per_IP": 0.9115,
"HR_per_IP": 0.07965
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.857,
"predicted_H": 3.499,
"predicted_BB": 1.622,
"predicted_SO": 4.078,
"predicted_HR": 0.527,
"predicted_ERA": 3.4305,
"predicted_WHIP": 1.0511
}
}{
"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.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.857,
"final": 1.9178,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.499,
"final": 3.2867,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.622,
"final": 1.3574,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.078,
"final": 4.4703,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.527,
"final": 0.3028,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4305,
"final": 3.4305,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0511,
"final": 1.0511,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Wells |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5144 |
| ESPN Rank | 77 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0351 |
| Avg Velo | 89.2409 |
| Avg Spin | 2389.8270 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 2.5522 |
| Season WHIP | 0.9403 |
| Role Avg IP | 1.2310 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"opponent": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"edges": {
"quality_edge": 0.2455,
"offense_edge": 0.006,
"opponent_offense_edge": -0.0903,
"defense_strength": 0.0819,
"opponent_defense_weakness": -0.0141,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0159,
"run_prevention": 0.9651,
"strikeout": 1.0146
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669330",
"profile": {
"available": true,
"pitcher_id": "669330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 236.0,
"k_percent": 25.4,
"bb_percent": 6.5,
"woba": 0.261,
"xwoba": 0.271,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 32.6,
"avg_best_speed": 77.9792,
"avg_hyper_speed": 92.964,
"whiff_percent": 30.4,
"swing_percent": 52.2
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.7435,
"command_and_miss": 0.615,
"regression_edge": -0.2857,
"xwoba_edge": 1.1429,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.7429,
"whiff_edge": 0.7429,
"bb_edge": 0.65,
"pitch_design_score": -0.0351
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669330",
"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": 89.24094878149593,
"release_spin_rate": 2389.8270209671077,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.24094878149593,
"release_spin_rate": 2389.8270209671077,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2409,
"release_spin_rate": 2389.827,
"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.0351,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2509,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.5144,
"sample_weight": 0.944,
"run_prevention_factor": 0.9563,
"strikeout_factor": 1.0469,
"walk_factor": 0.9509,
"homer_factor": 0.9413,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669330",
"espn_id": 4717904,
"player_name": "Tyler Wells",
"team": "TB",
"role": "pitcher",
"espn_rank": 77,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 77,
"gp_value": 53.0,
"gp_rank": 74,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.5522,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 5.0,
"sv_rank": 43,
"hld_value": 15.0,
"hld_rank": 33,
"ip_value": 67.0,
"ip_rank": 186,
"h_value": 46.0,
"h_rank": 253,
"er_value": 19.0,
"er_rank": 321,
"hr_value": 8.0,
"hr_rank": 196,
"bb_value": 17.0,
"bb_rank": 333,
"k_value": 66.0,
"k_rank": 187,
"k_per_9_value": 8.865671,
"k_per_9_rank": 27,
"whip_value": 0.9402,
"whip_rank": null,
"war_value": 1.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9587,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9587,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9536,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9446,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0443,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 3,
"H": 7,
"BB": 4,
"SO": 13,
"HR": 2,
"ERA": 2.0769230769230766,
"WHIP": 0.846153846153846,
"K9": 8.999999999999998,
"HR9": 1.3846153846153844,
"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-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "669330",
"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": 89.24094878149593,
"release_spin_rate": 2389.8270209671077,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.24094878149593,
"release_spin_rate": 2389.8270209671077,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2409,
"release_spin_rate": 2389.827,
"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.0351,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2509,
"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.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7292,
"prior_weight": 0.2708
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669330",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 0.0,
"R": 1.0,
"H": 1.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 0.2,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 19.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.45,
"ER_per_IP": 0.0,
"H_per_IP": 0.15,
"BB_per_IP": 0.3,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 4.0,
"SO": 13.0,
"HR": 2.0,
"BF": 49.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.4,
"SO": 1.3,
"HR": 0.2,
"BF": 4.9,
"Pitches": 20.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.8462,
"ER_per_IP": 0.23077,
"H_per_IP": 0.53846,
"BB_per_IP": 0.30769,
"SO_per_IP": 1.0,
"HR_per_IP": 0.15385
}
},
"season": {
"games": 53,
"totals": {
"IP": 67.0,
"ER": 19.0,
"R": 23.0,
"H": 46.0,
"BB": 17.0,
"SO": 66.0,
"HR": 8.0,
"BF": 260.0,
"Pitches": 1010.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3585,
"R": 0.434,
"H": 0.8679,
"BB": 0.3208,
"SO": 1.2453,
"HR": 0.1509,
"BF": 4.9057,
"Pitches": 19.0566
},
"rates": {
"ERA": 2.5522,
"WHIP": 0.9403,
"ER_per_IP": 0.28358,
"H_per_IP": 0.68657,
"BB_per_IP": 0.25373,
"SO_per_IP": 0.98507,
"HR_per_IP": 0.1194
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.313,
"predicted_H": 0.734,
"predicted_BB": 0.419,
"predicted_SO": 1.199,
"predicted_HR": 0.129,
"predicted_ERA": 2.115,
"predicted_WHIP": 0.8646
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4644,
"form_weight": 0.5356,
"form_reliability": 0.7292,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7292,
"prior_weight": 0.2708
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.313,
"final": 0.1676,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.734,
"final": 1.3219,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.419,
"final": 0.6888,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.199,
"final": 1.571,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.129,
"final": 0.0691,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.115,
"final": 2.115,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8646,
"final": 0.8646,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Baker |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4349 |
| ESPN Rank | 48 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.4727 |
| Season WHIP | 0.8727 |
| Role Avg IP | 0.9820 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"opponent": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"edges": {
"quality_edge": 0.2455,
"offense_edge": 0.006,
"opponent_offense_edge": -0.0903,
"defense_strength": 0.0819,
"opponent_defense_weakness": -0.0141,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0159,
"run_prevention": 0.9651,
"strikeout": 1.0146
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641329",
"profile": {
"available": true,
"pitcher_id": "641329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 191.0,
"k_percent": 27.9,
"bb_percent": 8.4,
"woba": 0.228,
"xwoba": 0.268,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 36.3,
"avg_best_speed": 75.3564,
"avg_hyper_speed": 93.559,
"whiff_percent": 28.6,
"swing_percent": 53.7
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9462,
"command_and_miss": 0.5907,
"regression_edge": -1.1429,
"xwoba_edge": 1.2286,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.2143,
"whiff_edge": 0.4857,
"bb_edge": 0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4349,
"sample_weight": 0.764,
"run_prevention_factor": 0.963,
"strikeout_factor": 1.041,
"walk_factor": 0.9893,
"homer_factor": 0.9667,
"woba_minus_xwoba": -0.04,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641329",
"espn_id": 40884,
"player_name": "Bryan Baker",
"team": "TB",
"role": "pitcher",
"espn_rank": 48,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 48,
"gp_value": 57.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.4727,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 39.0,
"sv_rank": 1,
"hld_value": 2.0,
"hld_rank": 225,
"ip_value": 55.0,
"ip_rank": 254,
"h_value": 31.0,
"h_rank": 393,
"er_value": 9.0,
"er_rank": 545,
"hr_value": 4.0,
"hr_rank": 363,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 60.0,
"k_rank": 216,
"k_per_9_value": 9.818182,
"k_per_9_rank": 22,
"whip_value": 0.8909,
"whip_rank": null,
"war_value": 2.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9717,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9717,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9746,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0313,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 1,
"H": 7,
"BB": 3,
"SO": 9,
"HR": 1,
"ERA": 0.9310344827586206,
"WHIP": 1.0344827586206895,
"K9": 8.379310344827585,
"HR9": 0.9310344827586206,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-02T00:00:00"
}{
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.055,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6886,
"prior_weight": 0.3114
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641329",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 56,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 14.0
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 4.4,
"Pitches": 15.0
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.0312,
"ER_per_IP": 0.1875,
"H_per_IP": 0.75,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 56,
"totals": {
"IP": 55.0,
"ER": 9.0,
"R": 10.0,
"H": 30.0,
"BB": 18.0,
"SO": 60.0,
"HR": 4.0,
"BF": 214.0,
"Pitches": 855.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1607,
"R": 0.1786,
"H": 0.5357,
"BB": 0.3214,
"SO": 1.0714,
"HR": 0.0714,
"BF": 3.8214,
"Pitches": 15.2679
},
"rates": {
"ERA": 1.4727,
"WHIP": 0.8727,
"ER_per_IP": 0.16364,
"H_per_IP": 0.54545,
"BB_per_IP": 0.32727,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.07273
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.285,
"predicted_H": 0.745,
"predicted_BB": 0.352,
"predicted_SO": 0.962,
"predicted_HR": 0.163,
"predicted_ERA": 2.5618,
"predicted_WHIP": 1.097
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4816,
"form_weight": 0.5184,
"form_reliability": 0.6886,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.055,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6886,
"prior_weight": 0.3114
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.285,
"final": 0.1478,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.745,
"final": 0.8678,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.352,
"final": 0.1825,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.962,
"final": 0.4987,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.163,
"final": 0.0845,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5618,
"final": 2.5618,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.097,
"final": 1.097,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Kelly |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1429 |
| ESPN Rank | 55 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.9485 |
| Season WHIP | 0.8351 |
| Role Avg IP | 1.0780 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"opponent": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"edges": {
"quality_edge": 0.2455,
"offense_edge": 0.006,
"opponent_offense_edge": -0.0903,
"defense_strength": 0.0819,
"opponent_defense_weakness": -0.0141,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0159,
"run_prevention": 0.9651,
"strikeout": 1.0146
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 210.0,
"k_percent": 21.7,
"bb_percent": 4.6,
"woba": 0.231,
"xwoba": 0.29,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 44.8,
"avg_best_speed": 78.9956,
"avg_hyper_speed": 94.7249,
"whiff_percent": 21.8,
"swing_percent": 48.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5853,
"command_and_miss": 0.0421,
"regression_edge": -1.6857,
"xwoba_edge": 0.6,
"barrel_edge": 0.3333,
"hard_hit_edge": -1.0,
"whiff_edge": -0.4857,
"bb_edge": 1.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1429,
"sample_weight": 0.84,
"run_prevention_factor": 0.9879,
"strikeout_factor": 0.9827,
"walk_factor": 0.9244,
"homer_factor": 0.9961,
"woba_minus_xwoba": -0.059,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687330",
"espn_id": 5001153,
"player_name": "Kevin Kelly",
"team": "TB",
"role": "pitcher",
"espn_rank": 55,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 55,
"gp_value": 60.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.9484,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 4.0,
"sv_rank": 52,
"hld_value": 28.0,
"hld_rank": 3,
"ip_value": 64.2,
"ip_rank": 193,
"h_value": 43.0,
"h_rank": 283,
"er_value": 14.0,
"er_rank": 429,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 11.0,
"bb_rank": 451,
"k_value": 52.0,
"k_rank": 266,
"k_per_9_value": 7.2371135,
"k_per_9_rank": 37,
"whip_value": 0.835,
"whip_rank": null,
"war_value": 2.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9898,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9898,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9365,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9967,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9855,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 7,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 1.6875,
"WHIP": 0.84375,
"K9": 7.59375,
"HR9": 0.84375,
"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-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.998,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687330",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.16667,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.0,
"Pitches": 13.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.8438,
"ER_per_IP": 0.1875,
"H_per_IP": 0.65625,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 60,
"totals": {
"IP": 64.2,
"ER": 14.0,
"R": 16.0,
"H": 43.0,
"BB": 11.0,
"SO": 52.0,
"HR": 5.0,
"BF": 240.0,
"Pitches": 844.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2333,
"R": 0.2667,
"H": 0.7167,
"BB": 0.1833,
"SO": 0.8667,
"HR": 0.0833,
"BF": 4.0,
"Pitches": 14.0667
},
"rates": {
"ERA": 1.9485,
"WHIP": 0.8351,
"ER_per_IP": 0.21649,
"H_per_IP": 0.66495,
"BB_per_IP": 0.1701,
"SO_per_IP": 0.80412,
"HR_per_IP": 0.07732
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.24,
"predicted_H": 0.65,
"predicted_BB": 0.314,
"predicted_SO": 1.014,
"predicted_HR": 0.084,
"predicted_ERA": 1.952,
"predicted_WHIP": 0.8697
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.998,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.24,
"final": 1.0626,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.65,
"final": 1.281,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.314,
"final": 0.1672,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.014,
"final": 1.0075,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.084,
"final": 0.5121,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.952,
"final": 1.952,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8697,
"final": 0.8697,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.173 | 0.000 | 1.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.680 | 4.000 | 5.000 | Hitting_AB | 4.036 | 3.000 | -0.036 | 1.000 |
| predicted_AVG | 0.285 | 0.250 | 0.200 | Hitting_AVG | 0.307 | 0.333 | -0.057 | -0.083 |
| predicted_BB | 0.383 | 0.000 | 1.000 | Hitting_BB | 0.385 | 1.000 | -0.385 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 1.340 | 1.000 | 1.000 | Hitting_H | 1.241 | 1.000 | -0.241 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.381 | 0.250 | 0.333 | Hitting_OBP | 0.376 | 0.500 | -0.126 | -0.250 |
| predicted_R | 0.602 | 1.000 | 1.000 | Hitting_R | 0.620 | 0.000 | 0.380 | 1.000 |
| predicted_RBI | 0.580 | 1.000 | 1.000 | Hitting_RBI | 0.613 | 0.000 | 0.387 | 1.000 |
| predicted_SLG | 0.491 | 0.250 | 0.400 | Hitting_SLG | 0.470 | 0.333 | -0.220 | -0.083 |
| predicted_SO | 0.639 | 0.000 | 1.000 | Hitting_SO | 0.629 | 0.000 | -0.629 | 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_RBI: 0.5800 -> 1.0000 (boost 0.4200, better) |
| Biggest Deboost | predicted_AB: 4.6800 -> 4.0000 (deboost -0.6800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.6800 -> 4.3683 (deboost -0.3117, worse) | Final model input calibrated with local 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.4859 -> 0.4545 (deboost -0.0314, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.3683 -> 5.0000 (boost 0.6317, better) | predicted_BB: 0.4109 -> 0.0000 (deboost -0.4109, worse) | AB rounded to 5 (raw=4.68), rates preserved: AVG=0.273 HR/AB=0.036 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6167 -> 1.0000 (boost 0.3833, 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 | 2 | 0 | 2 | 1 | 1 | - | 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.4130 -> 0.4545 (boost 0.0415, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.008,
"predicted_AB": 4.68,
"predicted_AVG": 0.285,
"predicted_BB": 0.383,
"predicted_H": 1.34,
"predicted_HR": 0.16,
"predicted_OBP": 0.381,
"predicted_R": 0.602,
"predicted_RBI": 0.58,
"predicted_SLG": 0.491,
"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.1939,
"predicted_3B": 0.0067,
"predicted_AB": 4.3683,
"predicted_AVG": 0.2874,
"predicted_BB": 0.4078,
"predicted_H": 1.2576,
"predicted_HBP": 0.045,
"predicted_HR": 0.1652,
"predicted_OBP": 0.3744,
"predicted_R": 0.5994,
"predicted_RBI": 0.546,
"predicted_SLG": 0.4859,
"predicted_SO": 0.6782
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.1939,
"delta": 0.0209,
"percent_delta": 0.1208,
"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.68,
"after": 4.3683,
"delta": -0.3117,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2874,
"delta": 0.0024,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.4078,
"delta": 0.0248,
"percent_delta": 0.0648,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.34,
"after": 1.2576,
"delta": -0.0824,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1652,
"delta": 0.0052,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3744,
"delta": -0.0066,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 0.5994,
"delta": -0.0026,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.546,
"delta": -0.034,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4859,
"delta": -0.0051,
"percent_delta": -0.0104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.6782,
"delta": 0.0392,
"percent_delta": 0.0613,
"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.68,
"after": 4.3683,
"delta": -0.3117,
"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": 133
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1939,
"predicted_3B": 0.0067,
"predicted_AB": 4.3683,
"predicted_AVG": 0.2923,
"predicted_BB": 0.4109,
"predicted_H": 1.2768,
"predicted_HBP": 0.045,
"predicted_HR": 0.1671,
"predicted_OBP": 0.3531,
"predicted_R": 0.6167,
"predicted_RBI": 0.5618,
"predicted_SLG": 0.4545,
"predicted_SO": 0.673
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1939,
"after": 0.1939,
"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.3683,
"after": 4.3683,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2874,
"after": 0.2923,
"delta": 0.0049,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4078,
"after": 0.4109,
"delta": 0.0031,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2576,
"after": 1.2768,
"delta": 0.0192,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1652,
"after": 0.1671,
"delta": 0.0019,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3744,
"after": 0.3531,
"delta": -0.0213,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5994,
"after": 0.6167,
"delta": 0.0173,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.546,
"after": 0.5618,
"delta": 0.0158,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4859,
"after": 0.4545,
"delta": -0.0314,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6782,
"after": 0.673,
"delta": -0.0052,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4859,
"after": 0.4545,
"delta": -0.0314,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.68), rates preserved: AVG=0.273 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1939,
"after": 0.0,
"delta": -0.1939,
"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.3683,
"after": 5.0,
"delta": 0.6317,
"percent_delta": 0.1446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2768,
"after": 1.0,
"delta": -0.2768,
"percent_delta": -0.2168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1671,
"after": 0.0,
"delta": -0.1671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5618,
"after": 1.0,
"delta": 0.4382,
"percent_delta": 0.78,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 1.0,
"delta": 0.327,
"percent_delta": 0.4859,
"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.3683,
"after": 5.0,
"delta": 0.6317,
"percent_delta": 0.1446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"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.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"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.273,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.337,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.413,
"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.2923,
"after": 0.273,
"delta": -0.0193,
"percent_delta": -0.066,
"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.3531,
"after": 0.337,
"delta": -0.0161,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4545,
"after": 0.413,
"delta": -0.0415,
"percent_delta": -0.0913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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.2923,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3531,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4545,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2923,
"delta": 0.0193,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3531,
"delta": 0.0161,
"percent_delta": 0.0479,
"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.413,
"after": 0.4545,
"delta": 0.0415,
"percent_delta": 0.1005,
"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.413,
"after": 0.4545,
"delta": 0.0415,
"percent_delta": 0.1005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.68,
"after": 4.0,
"delta": -0.68,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2923,
"delta": 0.0073,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.34,
"after": 1.0,
"delta": -0.34,
"percent_delta": -0.2537,
"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.381,
"after": 0.3531,
"delta": -0.0279,
"percent_delta": -0.0732,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 1.0,
"delta": 0.398,
"percent_delta": 0.6611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4545,
"delta": -0.0365,
"percent_delta": -0.0743,
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.68,
"after": 4.0,
"delta": -0.68,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.008 | - |
| predicted_AB | 4.680 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.383 | - |
| predicted_H | 1.340 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.602 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.491 | - |
| 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.194 | 0.021 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.368 | -0.312 |
| predicted_AVG | 0.287 | 0.002 |
| predicted_BB | 0.408 | 0.025 |
| predicted_H | 1.258 | -0.082 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.165 | 0.005 |
| predicted_OBP | 0.374 | -0.007 |
| predicted_R | 0.599 | -0.003 |
| predicted_RBI | 0.546 | -0.034 |
| predicted_SLG | 0.486 | -0.005 |
| predicted_SO | 0.678 | 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.194 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.368 | 0.000 |
| predicted_AVG | 0.292 | 0.005 |
| predicted_BB | 0.411 | 0.003 |
| predicted_H | 1.277 | 0.019 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.167 | 0.002 |
| predicted_OBP | 0.353 | -0.021 |
| predicted_R | 0.617 | 0.017 |
| predicted_RBI | 0.562 | 0.016 |
| predicted_SLG | 0.455 | -0.031 |
| predicted_SO | 0.673 | -0.005 |
AB rounded to 5 (raw=4.68), rates preserved: AVG=0.273 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 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.194 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.632 |
| predicted_AVG | 0.273 | -0.019 |
| predicted_BB | 0.000 | -0.411 |
| predicted_H | 1.000 | -0.277 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.337 | -0.016 |
| predicted_R | 1.000 | 0.383 |
| predicted_RBI | 1.000 | 0.438 |
| predicted_SLG | 0.413 | -0.042 |
| predicted_SO | 1.000 | 0.327 |
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 | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 5.000 | 0.3000 | 0.3913 | 0.5500 | 0.3000 | 0.0500 | 0.1000 | 0.1500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 2.000 | 0.000 | 2.000 | 4.000 | 6.000 | 5.000 | 7.000 | 0.2500 | 0.3333 | 0.4500 | 0.2500 | 0.0500 | 0.1000 | 0.1250 | 0.1750 |
| season | 0.60 | 133 | - | 526.000 | 160.000 | 23.000 | 1.000 | 21.000 | 76.000 | 80.000 | 51.000 | 85.000 | 0.3042 | 0.3733 | 0.4715 | 0.3042 | 0.0399 | 0.1445 | 0.0970 | 0.1616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2210 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9650 |
| predicted_AVG | 0.2904 |
| predicted_BB | 0.4400 |
| predicted_H | 1.1510 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.1720 |
| predicted_OBP | 0.3659 |
| predicted_R | 0.5960 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.4793 |
| predicted_SO | 0.7290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.2210 | 0.1939 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 4.6800 | 3.9650 | 4.3683 | model_form_blend |
| predicted_AVG | 0.2850 | 0.2904 | 0.2874 | model_form_blend |
| predicted_BB | 0.3830 | 0.4400 | 0.4078 | model_form_blend |
| predicted_H | 1.3400 | 1.1510 | 1.2576 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.1600 | 0.1720 | 0.1652 | model_form_blend |
| predicted_OBP | 0.3810 | 0.3659 | 0.3744 | model_form_blend |
| predicted_R | 0.6020 | 0.5960 | 0.5994 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5020 | 0.5460 | model_form_blend |
| predicted_SLG | 0.4910 | 0.4793 | 0.4859 | model_form_blend |
| predicted_SO | 0.6390 | 0.7290 | 0.6782 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 553 |
| Season rows before report date | 553 |
| Report year | 2026 |
| Profile rows used | 133 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260902_NYM@TB |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.365 |
| sl_xwoba | 0.355 |
| sl_xba | 0.286 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 6.1 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.110 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 4.450 | 4.000 | 4.000 | Hitting_AB | 3.978 | 4.000 | 0.022 | 0.000 |
| predicted_AVG | 0.321 | 0.000 | 0.250 | Hitting_AVG | 0.311 | 0.500 | -0.311 | -0.500 |
| predicted_BB | 0.181 | 0.000 | 0.000 | Hitting_BB | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_H | 1.430 | 0.000 | 1.000 | Hitting_H | 1.238 | 2.000 | -1.238 | -2.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.359 | 0.000 | 0.250 | Hitting_OBP | 0.339 | 0.500 | -0.339 | -0.500 |
| predicted_R | 0.425 | 0.000 | 0.000 | Hitting_R | 0.421 | 1.000 | -0.421 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_SLG | 0.371 | 0.000 | 0.250 | Hitting_SLG | 0.363 | 0.500 | -0.363 | -0.500 |
| predicted_SO | 0.339 | 0.000 | 0.000 | Hitting_SO | 0.368 | 0.000 | -0.368 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SLG: 0.3710 -> 0.3844 (boost 0.0134, better) |
| Biggest Deboost | predicted_H: 1.4300 -> 0.0000 (deboost -1.4300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3210 -> 0.3264 (boost 0.0054, better) | predicted_AB: 4.4500 -> 4.1679 (deboost -0.2821, worse) | Final model input calibrated with local 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.3738 -> 0.3844 (boost 0.0106, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_H: 1.3800 -> 1.0000 (deboost -0.3800, worse) | AB rounded to 4 (raw=4.45), rates preserved: AVG=0.310 HR/AB=0.003 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4440 -> 0.0000 (deboost -0.4440, 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.3844 -> 0.3600 (deboost -0.0244, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3600 -> 0.3844 (boost 0.0244, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.11,
"predicted_3B": 0.047,
"predicted_AB": 4.45,
"predicted_AVG": 0.321,
"predicted_BB": 0.181,
"predicted_H": 1.43,
"predicted_HR": 0.02,
"predicted_OBP": 0.359,
"predicted_R": 0.425,
"predicted_RBI": 0.38,
"predicted_SLG": 0.371,
"predicted_SO": 0.339
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1018,
"predicted_3B": 0.0383,
"predicted_AB": 4.1679,
"predicted_AVG": 0.3264,
"predicted_BB": 0.1949,
"predicted_H": 1.3592,
"predicted_HBP": 0.002,
"predicted_HR": 0.0144,
"predicted_OBP": 0.3624,
"predicted_R": 0.4315,
"predicted_RBI": 0.3531,
"predicted_SLG": 0.3738,
"predicted_SO": 0.319
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.11,
"after": 0.1018,
"delta": -0.0082,
"percent_delta": -0.0745,
"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.45,
"after": 4.1679,
"delta": -0.2821,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.321,
"after": 0.3264,
"delta": 0.0054,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.1949,
"delta": 0.0139,
"percent_delta": 0.0768,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 1.3592,
"delta": -0.0708,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0144,
"delta": -0.0056,
"percent_delta": -0.28,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3624,
"delta": 0.0034,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.4315,
"delta": 0.0065,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3531,
"delta": -0.0269,
"percent_delta": -0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3738,
"delta": 0.0028,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.339,
"after": 0.319,
"delta": -0.02,
"percent_delta": -0.059,
"direction": "no_change",
"projection_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.321,
"after": 0.3264,
"delta": 0.0054,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.45,
"after": 4.1679,
"delta": -0.2821,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 127
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1018,
"predicted_3B": 0.0383,
"predicted_AB": 4.1679,
"predicted_AVG": 0.3311,
"predicted_BB": 0.1964,
"predicted_H": 1.38,
"predicted_HBP": 0.002,
"predicted_HR": 0.0146,
"predicted_OBP": 0.3612,
"predicted_R": 0.444,
"predicted_RBI": 0.3633,
"predicted_SLG": 0.3844,
"predicted_SO": 0.3166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1018,
"after": 0.1018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0383,
"after": 0.0383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1679,
"after": 4.1679,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3264,
"after": 0.3311,
"delta": 0.0047,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1949,
"after": 0.1964,
"delta": 0.0015,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3592,
"after": 1.38,
"delta": 0.0208,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0144,
"after": 0.0146,
"delta": 0.0002,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3624,
"after": 0.3612,
"delta": -0.0012,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4315,
"after": 0.444,
"delta": 0.0125,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3531,
"after": 0.3633,
"delta": 0.0102,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3738,
"after": 0.3844,
"delta": 0.0106,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.319,
"after": 0.3166,
"delta": -0.0024,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_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.3738,
"after": 0.3844,
"delta": 0.0106,
"percent_delta": 0.0284,
"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.45), rates preserved: AVG=0.310 HR/AB=0.003",
"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.1018,
"after": 0.0,
"delta": -0.1018,
"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": 4.1679,
"after": 4.0,
"delta": -0.1679,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1964,
"after": 0.0,
"delta": -0.1964,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.38,
"after": 1.0,
"delta": -0.38,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0146,
"after": 0.0,
"delta": -0.0146,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3633,
"after": 0.0,
"delta": -0.3633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3166,
"after": 0.0,
"delta": -0.3166,
"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_H",
"before": 1.38,
"after": 1.0,
"delta": -0.38,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.444,
"after": 0.0,
"delta": -0.444,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"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.31,
"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.36,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3311,
"after": 0.31,
"delta": -0.0211,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3612,
"after": 0.345,
"delta": -0.0162,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3844,
"after": 0.36,
"delta": -0.0244,
"percent_delta": -0.0635,
"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.3844,
"after": 0.36,
"delta": -0.0244,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.3311,
"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.3612,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3844,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.31,
"after": 0.3311,
"delta": 0.0211,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3612,
"delta": 0.0162,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3844,
"delta": 0.0244,
"percent_delta": 0.0677,
"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.36,
"after": 0.3844,
"delta": 0.0244,
"percent_delta": 0.0677,
"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.11,
"after": 0.0,
"delta": -0.11,
"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.45,
"after": 4.0,
"delta": -0.45,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.321,
"after": 0.3311,
"delta": 0.0101,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.43,
"after": 0.0,
"delta": -1.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3612,
"delta": 0.0022,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3844,
"delta": 0.0134,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3844,
"delta": 0.0134,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.43,
"after": 0.0,
"delta": -1.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 4.450 | - |
| predicted_AVG | 0.321 | - |
| predicted_BB | 0.181 | - |
| predicted_H | 1.430 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.425 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.339 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | -0.008 |
| predicted_3B | 0.038 | -0.009 |
| predicted_AB | 4.168 | -0.282 |
| predicted_AVG | 0.326 | 0.005 |
| predicted_BB | 0.195 | 0.014 |
| predicted_H | 1.359 | -0.071 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.014 | -0.006 |
| predicted_OBP | 0.362 | 0.003 |
| predicted_R | 0.431 | 0.007 |
| predicted_RBI | 0.353 | -0.027 |
| predicted_SLG | 0.374 | 0.003 |
| predicted_SO | 0.319 | -0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 4.168 | 0.000 |
| predicted_AVG | 0.331 | 0.005 |
| predicted_BB | 0.196 | 0.002 |
| predicted_H | 1.380 | 0.021 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.015 | 0.000 |
| predicted_OBP | 0.361 | -0.001 |
| predicted_R | 0.444 | 0.013 |
| predicted_RBI | 0.363 | 0.010 |
| predicted_SLG | 0.384 | 0.011 |
| predicted_SO | 0.317 | -0.002 |
AB rounded to 4 (raw=4.45), rates preserved: AVG=0.310 HR/AB=0.003
| 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 | 0.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.102 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 4.000 | -0.168 |
| predicted_AVG | 0.310 | -0.021 |
| predicted_BB | 0.000 | -0.196 |
| predicted_H | 1.000 | -0.380 |
| predicted_HR | 0.000 | -0.015 |
| predicted_OBP | 0.345 | -0.016 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.363 |
| predicted_SLG | 0.360 | -0.024 |
| predicted_SO | 0.000 | -0.317 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.3684 | 0.4000 | 0.3684 | 0.3684 | 0.0000 | 0.1053 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 10 | - | 36.000 | 14.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 3.000 | 1.000 | 0.3889 | 0.4359 | 0.4167 | 0.3889 | 0.0000 | 0.1111 | 0.0833 | 0.0278 |
| season | 0.60 | 127 | - | 491.000 | 153.000 | 14.000 | 6.000 | 0.000 | 31.000 | 54.000 | 23.000 | 43.000 | 0.3116 | 0.3385 | 0.3646 | 0.3116 | 0.0000 | 0.0631 | 0.0468 | 0.0876 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.8000 |
| predicted_AVG | 0.3335 |
| predicted_BB | 0.2130 |
| predicted_H | 1.2670 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0070 |
| predicted_OBP | 0.3668 |
| predicted_R | 0.4400 |
| predicted_RBI | 0.3180 |
| predicted_SLG | 0.3775 |
| predicted_SO | 0.2930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1100 | 0.0910 | 0.1018 | model_form_blend |
| predicted_3B | 0.0470 | 0.0270 | 0.0383 | model_form_blend |
| predicted_AB | 4.4500 | 3.8000 | 4.1679 | model_form_blend |
| predicted_AVG | 0.3210 | 0.3335 | 0.3264 | model_form_blend |
| predicted_BB | 0.1810 | 0.2130 | 0.1949 | model_form_blend |
| predicted_H | 1.4300 | 1.2670 | 1.3592 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0200 | 0.0070 | 0.0144 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3668 | 0.3624 | model_form_blend |
| predicted_R | 0.4250 | 0.4400 | 0.4315 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3180 | 0.3531 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3775 | 0.3738 | model_form_blend |
| predicted_SO | 0.3390 | 0.2930 | 0.3190 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 492 |
| Season rows before report date | 492 |
| Report year | 2026 |
| Profile rows used | 127 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_NYM@TB |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 8.1 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.311 |
| sl_xwoba | 0.262 |
| sl_xba | 0.257 |
| sl_xslg | 0.294 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 12.8 |
| sl_exit_velocity_avg | 83.6 |
| sl_launch_angle_avg | 1.3 |
| sl_whiff_percent | 10.4 |
| sl_swing_percent | 47.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 3.906 | 4.000 | 0.094 | 0.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_BB | 0.507 | 0.000 | 1.000 | Hitting_BB | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.120 | 0.000 | 1.000 | Hitting_H | 1.110 | 0.000 | -1.110 | 0.000 |
| predicted_HR | 0.250 | 0.000 | 1.000 | Hitting_HR | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_OBP | 0.356 | 0.000 | 0.400 | Hitting_OBP | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_R | 0.616 | 0.000 | 1.000 | Hitting_R | 0.678 | 0.000 | -0.678 | 0.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.685 | 0.000 | -0.685 | 0.000 |
| predicted_SLG | 0.496 | 0.000 | 1.000 | Hitting_SLG | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_SO | 0.797 | 1.000 | 1.000 | Hitting_SO | 0.802 | 2.000 | 0.198 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7970 -> 1.0000 (boost 0.2030, worse) |
| 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 | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2500 -> 0.2695 (boost 0.0195, better) | predicted_AB: 4.4800 -> 4.2048 (deboost -0.2752, worse) | Final model input calibrated with local 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.5124 -> 0.4915 (deboost -0.0209, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.6652 -> 1.0000 (boost 0.3348, better) | predicted_BB: 0.4880 -> 0.0000 (deboost -0.4880, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.255 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6289 -> 1.0000 (boost 0.3711, 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 | 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.4610 -> 0.4915 (boost 0.0305, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.007,
"predicted_AB": 4.48,
"predicted_AVG": 0.25,
"predicted_BB": 0.507,
"predicted_H": 1.12,
"predicted_HR": 0.25,
"predicted_OBP": 0.356,
"predicted_R": 0.616,
"predicted_RBI": 0.67,
"predicted_SLG": 0.496,
"predicted_SO": 0.797
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1219,
"predicted_3B": 0.0061,
"predicted_AB": 4.2048,
"predicted_AVG": 0.2695,
"predicted_BB": 0.4843,
"predicted_H": 1.1261,
"predicted_HBP": 0.033,
"predicted_HR": 0.26,
"predicted_OBP": 0.3635,
"predicted_R": 0.6112,
"predicted_RBI": 0.6465,
"predicted_SLG": 0.5124,
"predicted_SO": 0.8062
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1219,
"delta": -0.0231,
"percent_delta": -0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.2048,
"delta": -0.2752,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2695,
"delta": 0.0195,
"percent_delta": 0.078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.4843,
"delta": -0.0227,
"percent_delta": -0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1261,
"delta": 0.0061,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.26,
"delta": 0.01,
"percent_delta": 0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3635,
"delta": 0.0075,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.616,
"after": 0.6112,
"delta": -0.0048,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.6465,
"delta": -0.0235,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.5124,
"delta": 0.0164,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.797,
"after": 0.8062,
"delta": 0.0092,
"percent_delta": 0.0115,
"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.25,
"after": 0.2695,
"delta": 0.0195,
"percent_delta": 0.078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.2048,
"delta": -0.2752,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 138
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1219,
"predicted_3B": 0.0061,
"predicted_AB": 4.2048,
"predicted_AVG": 0.2719,
"predicted_BB": 0.488,
"predicted_H": 1.1433,
"predicted_HBP": 0.033,
"predicted_HR": 0.263,
"predicted_OBP": 0.3476,
"predicted_R": 0.6289,
"predicted_RBI": 0.6652,
"predicted_SLG": 0.4915,
"predicted_SO": 0.8001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1219,
"after": 0.1219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2048,
"after": 4.2048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2695,
"after": 0.2719,
"delta": 0.0024,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4843,
"after": 0.488,
"delta": 0.0037,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1261,
"after": 1.1433,
"delta": 0.0172,
"percent_delta": 0.0153,
"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.26,
"after": 0.263,
"delta": 0.003,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3635,
"after": 0.3476,
"delta": -0.0159,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6112,
"after": 0.6289,
"delta": 0.0177,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6465,
"after": 0.6652,
"delta": 0.0187,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5124,
"after": 0.4915,
"delta": -0.0209,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8062,
"after": 0.8001,
"delta": -0.0061,
"percent_delta": -0.0076,
"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.5124,
"after": 0.4915,
"delta": -0.0209,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.255 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.1219,
"after": 0.0,
"delta": -0.1219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2048,
"after": 4.0,
"delta": -0.2048,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.0,
"delta": -0.488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1433,
"after": 1.0,
"delta": -0.1433,
"percent_delta": -0.1253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6652,
"after": 1.0,
"delta": 0.3348,
"percent_delta": 0.5033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8001,
"after": 1.0,
"delta": 0.1999,
"percent_delta": 0.2498,
"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.6652,
"after": 1.0,
"delta": 0.3348,
"percent_delta": 0.5033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.488,
"after": 0.0,
"delta": -0.488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6289,
"after": 1.0,
"delta": 0.3711,
"percent_delta": 0.5901,
"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.6289,
"after": 1.0,
"delta": 0.3711,
"percent_delta": 0.5901,
"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": 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": 4.0,
"predicted_AVG": 0.255,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.461,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2719,
"after": 0.255,
"delta": -0.0169,
"percent_delta": -0.0622,
"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.3476,
"after": 0.334,
"delta": -0.0136,
"percent_delta": -0.0391,
"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.4915,
"after": 0.461,
"delta": -0.0305,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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.2719,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3476,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4915,
"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.255,
"after": 0.2719,
"delta": 0.0169,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3476,
"delta": 0.0136,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4915,
"delta": 0.0305,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.461,
"after": 0.4915,
"delta": 0.0305,
"percent_delta": 0.0661,
"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.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2719,
"delta": 0.0219,
"percent_delta": 0.0876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.0,
"delta": -0.507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3476,
"delta": -0.0084,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.616,
"after": 0.0,
"delta": -0.616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4915,
"delta": -0.0045,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.797,
"after": 1.0,
"delta": 0.203,
"percent_delta": 0.2547,
"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.797,
"after": 1.0,
"delta": 0.203,
"percent_delta": 0.2547,
"direction": "boost",
"projection_effect": "worse",
"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.145 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.507 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.616 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.797 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.023 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 4.205 | -0.275 |
| predicted_AVG | 0.270 | 0.020 |
| predicted_BB | 0.484 | -0.023 |
| predicted_H | 1.126 | 0.006 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.260 | 0.010 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 0.611 | -0.005 |
| predicted_RBI | 0.646 | -0.024 |
| predicted_SLG | 0.512 | 0.016 |
| predicted_SO | 0.806 | 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.122 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 4.205 | 0.000 |
| predicted_AVG | 0.272 | 0.002 |
| predicted_BB | 0.488 | 0.004 |
| predicted_H | 1.143 | 0.017 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.263 | 0.003 |
| predicted_OBP | 0.348 | -0.016 |
| predicted_R | 0.629 | 0.018 |
| predicted_RBI | 0.665 | 0.019 |
| predicted_SLG | 0.491 | -0.021 |
| predicted_SO | 0.800 | -0.006 |
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.255 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 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 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.122 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | -0.205 |
| predicted_AVG | 0.255 | -0.017 |
| predicted_BB | 0.000 | -0.488 |
| predicted_H | 1.000 | -0.143 |
| predicted_HR | 0.000 | -0.263 |
| predicted_OBP | 0.334 | -0.014 |
| predicted_R | 1.000 | 0.371 |
| predicted_RBI | 1.000 | 0.335 |
| predicted_SLG | 0.461 | -0.030 |
| 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 | 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 | - | 20.000 | 6.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 5.000 | 0.3000 | 0.3636 | 0.6000 | 0.3000 | 0.1000 | 0.1500 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 13.000 | 0.000 | 0.000 | 2.000 | 6.000 | 6.000 | 4.000 | 7.000 | 0.3421 | 0.4186 | 0.5000 | 0.3421 | 0.0526 | 0.1579 | 0.1053 | 0.1842 |
| season | 0.60 | 138 | - | 527.000 | 148.000 | 20.000 | 1.000 | 37.000 | 88.000 | 85.000 | 70.000 | 110.000 | 0.2808 | 0.3671 | 0.5332 | 0.2808 | 0.0702 | 0.1670 | 0.1328 | 0.2087 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8490 |
| predicted_AVG | 0.2946 |
| predicted_BB | 0.4550 |
| predicted_H | 1.1340 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.2730 |
| predicted_OBP | 0.3733 |
| predicted_R | 0.6050 |
| predicted_RBI | 0.6160 |
| predicted_SLG | 0.5336 |
| predicted_SO | 0.8180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.0920 | 0.1219 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 4.4800 | 3.8490 | 4.2048 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2946 | 0.2695 | model_form_blend |
| predicted_BB | 0.5070 | 0.4550 | 0.4843 | model_form_blend |
| predicted_H | 1.1200 | 1.1340 | 1.1261 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.2500 | 0.2730 | 0.2600 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3733 | 0.3635 | model_form_blend |
| predicted_R | 0.6160 | 0.6050 | 0.6112 | model_form_blend |
| predicted_RBI | 0.6700 | 0.6160 | 0.6465 | model_form_blend |
| predicted_SLG | 0.4960 | 0.5336 | 0.5124 | model_form_blend |
| predicted_SO | 0.7970 | 0.8180 | 0.8062 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 565 |
| Season rows before report date | 565 |
| Report year | 2026 |
| Profile rows used | 138 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 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 | 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 | 20260902_NYM@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.382 |
| sl_xwoba | 0.363 |
| sl_xba | 0.273 |
| sl_xslg | 0.494 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 49.9 |
| sl_exit_velocity_avg | 92.9 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 43.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 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 | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.920 | 4.000 | 0.080 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.286 | 0.250 | -0.286 | -0.250 |
| predicted_BB | 0.448 | 0.000 | 1.000 | Hitting_BB | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 1.122 | 1.000 | -1.122 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.312 | 0.000 | 0.400 | Hitting_OBP | 0.367 | 0.250 | -0.367 | -0.250 |
| predicted_R | 0.478 | 0.000 | 1.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.647 | 1.000 | -0.647 | -1.000 |
| predicted_SLG | 0.385 | 0.000 | 0.250 | Hitting_SLG | 0.425 | 0.250 | -0.425 | -0.250 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.044 | 1.000 | -0.044 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AVG: 0.2380 -> 0.2465 (boost 0.0085, better) |
| Biggest Deboost | predicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_SLG: 0.3850 -> 0.3921 (boost 0.0071, better) | predicted_AB: 4.0700 -> 3.9650 (deboost -0.1050, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6096 -> 1.0000 (boost 0.3904, better) | predicted_BB: 0.4313 -> 0.0000 (deboost -0.4313, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.240 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4878 -> 0.0000 (deboost -0.4878, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | 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 |
| 9 | 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 |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3690 -> 0.3899 (boost 0.0209, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.238,
"predicted_BB": 0.448,
"predicted_H": 0.97,
"predicted_HR": 0.13,
"predicted_OBP": 0.312,
"predicted_R": 0.478,
"predicted_RBI": 0.65,
"predicted_SLG": 0.385,
"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.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.965,
"predicted_AVG": 0.2427,
"predicted_BB": 0.428,
"predicted_H": 0.9626,
"predicted_HBP": 0.06,
"predicted_HR": 0.1409,
"predicted_OBP": 0.3184,
"predicted_R": 0.4741,
"predicted_RBI": 0.5925,
"predicted_SLG": 0.3921,
"predicted_SO": 0.9403
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1404,
"delta": -0.0166,
"percent_delta": -0.1057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.965,
"delta": -0.105,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2427,
"delta": 0.0047,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.428,
"delta": -0.02,
"percent_delta": -0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9626,
"delta": -0.0074,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1409,
"delta": 0.0109,
"percent_delta": 0.0838,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3184,
"delta": 0.0064,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.4741,
"delta": -0.0039,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.5925,
"delta": -0.0575,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3921,
"delta": 0.0071,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9403,
"delta": -0.0597,
"percent_delta": -0.0597,
"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_SLG",
"before": 0.385,
"after": 0.3921,
"delta": 0.0071,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.965,
"delta": -0.105,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 134
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1404,
"predicted_3B": 0.0004,
"predicted_AB": 3.965,
"predicted_AVG": 0.2465,
"predicted_BB": 0.4313,
"predicted_H": 0.9773,
"predicted_HBP": 0.06,
"predicted_HR": 0.1425,
"predicted_OBP": 0.3204,
"predicted_R": 0.4878,
"predicted_RBI": 0.6096,
"predicted_SLG": 0.3899,
"predicted_SO": 0.9332
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1404,
"after": 0.1404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.965,
"after": 3.965,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2427,
"after": 0.2465,
"delta": 0.0038,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.428,
"after": 0.4313,
"delta": 0.0033,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9626,
"after": 0.9773,
"delta": 0.0147,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.06,
"after": 0.06,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1409,
"after": 0.1425,
"delta": 0.0016,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3184,
"after": 0.3204,
"delta": 0.002,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4741,
"after": 0.4878,
"delta": 0.0137,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5925,
"after": 0.6096,
"delta": 0.0171,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3921,
"after": 0.3899,
"delta": -0.0022,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9403,
"after": 0.9332,
"delta": -0.0071,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.240 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.1404,
"after": 0.0,
"delta": -0.1404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.965,
"after": 4.0,
"delta": 0.035,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4313,
"after": 0.0,
"delta": -0.4313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9773,
"after": 1.0,
"delta": 0.0227,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6096,
"after": 1.0,
"delta": 0.3904,
"percent_delta": 0.6404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9332,
"after": 1.0,
"delta": 0.0668,
"percent_delta": 0.0716,
"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.6096,
"after": 1.0,
"delta": 0.3904,
"percent_delta": 0.6404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4313,
"after": 0.0,
"delta": -0.4313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4878,
"after": 0.0,
"delta": -0.4878,
"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.4878,
"after": 0.0,
"delta": -0.4878,
"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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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.23,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2465,
"after": 0.23,
"delta": -0.0165,
"percent_delta": -0.0669,
"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.3204,
"after": 0.311,
"delta": -0.0094,
"percent_delta": -0.0293,
"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.3899,
"after": 0.369,
"delta": -0.0209,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"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": 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.2465,
"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.3204,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3899,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2465,
"delta": 0.0165,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3204,
"delta": 0.0094,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3899,
"delta": 0.0209,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.369,
"after": 0.3899,
"delta": 0.0209,
"percent_delta": 0.0568,
"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.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2465,
"delta": 0.0085,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"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.312,
"after": 0.3204,
"delta": 0.0084,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.0,
"delta": -0.478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3899,
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2465,
"delta": 0.0085,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.448 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.385 | - |
| 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.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.965 | -0.105 |
| predicted_AVG | 0.243 | 0.005 |
| predicted_BB | 0.428 | -0.020 |
| predicted_H | 0.963 | -0.007 |
| predicted_HBP | 0.060 | - |
| predicted_HR | 0.141 | 0.011 |
| predicted_OBP | 0.318 | 0.006 |
| predicted_R | 0.474 | -0.004 |
| predicted_RBI | 0.593 | -0.057 |
| predicted_SLG | 0.392 | 0.007 |
| predicted_SO | 0.940 | -0.060 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.965 | 0.000 |
| predicted_AVG | 0.246 | 0.004 |
| predicted_BB | 0.431 | 0.003 |
| predicted_H | 0.977 | 0.015 |
| predicted_HBP | 0.060 | 0.000 |
| predicted_HR | 0.142 | 0.002 |
| predicted_OBP | 0.320 | 0.002 |
| predicted_R | 0.488 | 0.014 |
| predicted_RBI | 0.610 | 0.017 |
| predicted_SLG | 0.390 | -0.002 |
| predicted_SO | 0.933 | -0.007 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.240 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.035 |
| predicted_AVG | 0.230 | -0.016 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 1.000 | 0.023 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.311 | -0.009 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.390 |
| predicted_SLG | 0.369 | -0.021 |
| predicted_SO | 1.000 | 0.067 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.2000 | 0.2727 | 0.3500 | 0.2000 | 0.0500 | 0.1000 | 0.1000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 3.000 | 7.000 | 0.2105 | 0.2857 | 0.3947 | 0.2105 | 0.0526 | 0.1053 | 0.0790 | 0.1842 |
| season | 0.60 | 134 | - | 507.000 | 141.000 | 21.000 | 0.000 | 17.000 | 80.000 | 64.000 | 60.000 | 134.000 | 0.2781 | 0.3602 | 0.4201 | 0.2781 | 0.0335 | 0.1578 | 0.1183 | 0.2643 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8290 |
| predicted_AVG | 0.2489 |
| predicted_BB | 0.4020 |
| predicted_H | 0.9530 |
| predicted_HBP | 0.0600 |
| predicted_HR | 0.1550 |
| predicted_OBP | 0.3267 |
| predicted_R | 0.4690 |
| predicted_RBI | 0.5180 |
| predicted_SLG | 0.4013 |
| predicted_SO | 0.8630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1190 | 0.1404 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.8290 | 3.9650 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2489 | 0.2427 | model_form_blend |
| predicted_BB | 0.4480 | 0.4020 | 0.4280 | model_form_blend |
| predicted_H | 0.9700 | 0.9530 | 0.9626 | model_form_blend |
| predicted_HBP | - | 0.0600 | 0.0600 | form_only |
| predicted_HR | 0.1300 | 0.1550 | 0.1409 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3267 | 0.3184 | model_form_blend |
| predicted_R | 0.4780 | 0.4690 | 0.4741 | model_form_blend |
| predicted_RBI | 0.6500 | 0.5180 | 0.5925 | model_form_blend |
| predicted_SLG | 0.3850 | 0.4013 | 0.3921 | model_form_blend |
| predicted_SO | 1.0000 | 0.8630 | 0.9403 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 550 |
| Season rows before report date | 550 |
| Report year | 2026 |
| Profile rows used | 134 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_NYM@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.343 |
| sl_xwoba | 0.35 |
| sl_xba | 0.263 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 46.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 0.000 | 0.000 | Hitting_2B | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.318 | 4.000 | 3.000 | Hitting_AB | 3.654 | 2.000 | 0.346 | 2.000 |
| predicted_AVG | 0.188 | 0.000 | 0.000 | Hitting_AVG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_BB | 0.153 | 0.000 | 0.000 | Hitting_BB | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.390 | 0.000 | 0.000 | Hitting_H | 1.056 | 0.000 | -1.056 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.229 | 0.000 | 0.000 | Hitting_OBP | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_R | 0.424 | 0.000 | 0.000 | Hitting_R | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.595 | 0.000 | -0.595 | 0.000 |
| predicted_SLG | 0.347 | 0.000 | 0.000 | Hitting_SLG | 0.465 | 0.000 | -0.465 | 0.000 |
| predicted_SO | 0.729 | 1.000 | 1.000 | Hitting_SO | 0.758 | 1.000 | 0.242 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.3180 -> 4.0000 (boost 0.6820, better) |
| Biggest Deboost | predicted_R: 0.4240 -> 0.0000 (deboost -0.4240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_H: 0.3900 -> 0.5579 (boost 0.1679, 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.3661 -> 0.3051 (deboost -0.0610, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.5664 -> 1.0000 (boost 0.4336, better) | predicted_RBI: 0.4096 -> 0.0000 (deboost -0.4096, worse) | AB rounded to 3 (raw=3.37), rates preserved: AVG=0.168 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4119 -> 0.0000 (deboost -0.4119, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3130 -> 0.3051 (deboost -0.0079, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676356",
"player_name": "Jonny DeLuca",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 3.318,
"predicted_AVG": 0.188,
"predicted_BB": 0.153,
"predicted_H": 0.39,
"predicted_HR": 0.05,
"predicted_OBP": 0.229,
"predicted_R": 0.424,
"predicted_RBI": 0.3,
"predicted_SLG": 0.347,
"predicted_SO": 0.729
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2126,
"predicted_3B": 0.0004,
"predicted_AB": 3.365,
"predicted_AVG": 0.2056,
"predicted_BB": 0.164,
"predicted_H": 0.5579,
"predicted_HBP": 0.003,
"predicted_HR": 0.0813,
"predicted_OBP": 0.2458,
"predicted_R": 0.4003,
"predicted_RBI": 0.3981,
"predicted_SLG": 0.3661,
"predicted_SO": 0.7827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2126,
"delta": -0.0224,
"percent_delta": -0.0953,
"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.318,
"after": 3.365,
"delta": 0.047,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.188,
"after": 0.2056,
"delta": 0.0176,
"percent_delta": 0.0936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.153,
"after": 0.164,
"delta": 0.011,
"percent_delta": 0.0719,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.5579,
"delta": 0.1679,
"percent_delta": 0.4305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0813,
"delta": 0.0313,
"percent_delta": 0.626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2458,
"delta": 0.0168,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.4003,
"delta": -0.0237,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3981,
"delta": 0.0981,
"percent_delta": 0.327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3661,
"delta": 0.0191,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.729,
"after": 0.7827,
"delta": 0.0537,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.39,
"after": 0.5579,
"delta": 0.1679,
"percent_delta": 0.4305,
"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": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2126,
"predicted_3B": 0.0004,
"predicted_AB": 3.365,
"predicted_AVG": 0.1683,
"predicted_BB": 0.1652,
"predicted_H": 0.5664,
"predicted_HBP": 0.003,
"predicted_HR": 0.0822,
"predicted_OBP": 0.2073,
"predicted_R": 0.4119,
"predicted_RBI": 0.4096,
"predicted_SLG": 0.3051,
"predicted_SO": 0.7768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2126,
"after": 0.2126,
"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.365,
"after": 3.365,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2056,
"after": 0.1683,
"delta": -0.0373,
"percent_delta": -0.1814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.1652,
"delta": 0.0012,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5579,
"after": 0.5664,
"delta": 0.0085,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0813,
"after": 0.0822,
"delta": 0.0009,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2458,
"after": 0.2073,
"delta": -0.0385,
"percent_delta": -0.1566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4003,
"after": 0.4119,
"delta": 0.0116,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3981,
"after": 0.4096,
"delta": 0.0115,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3661,
"after": 0.3051,
"delta": -0.061,
"percent_delta": -0.1666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7827,
"after": 0.7768,
"delta": -0.0059,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3661,
"after": 0.3051,
"delta": -0.061,
"percent_delta": -0.1666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.37), rates preserved: AVG=0.168 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2126,
"after": 0.0,
"delta": -0.2126,
"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.365,
"after": 3.0,
"delta": -0.365,
"percent_delta": -0.1085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1652,
"after": 0.0,
"delta": -0.1652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5664,
"after": 1.0,
"delta": 0.4336,
"percent_delta": 0.7655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0822,
"after": 0.0,
"delta": -0.0822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.0,
"delta": -0.4096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7768,
"after": 1.0,
"delta": 0.2232,
"percent_delta": 0.2873,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5664,
"after": 1.0,
"delta": 0.4336,
"percent_delta": 0.7655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4096,
"after": 0.0,
"delta": -0.4096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4119,
"after": 0.0,
"delta": -0.4119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4119,
"after": 0.0,
"delta": -0.4119,
"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.168,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.214,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.313,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1683,
"after": 0.168,
"delta": -0.0003,
"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": 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.2073,
"after": 0.214,
"delta": 0.0067,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3051,
"after": 0.313,
"delta": 0.0079,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1683,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2073,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3051,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.168,
"after": 0.1683,
"delta": 0.0003,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.214,
"after": 0.2073,
"delta": -0.0067,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3051,
"delta": -0.0079,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.313,
"after": 0.3051,
"delta": -0.0079,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.318,
"after": 4.0,
"delta": 0.682,
"percent_delta": 0.2055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.188,
"after": 0.1683,
"delta": -0.0197,
"percent_delta": -0.1048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2073,
"delta": -0.0217,
"percent_delta": -0.0948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3051,
"delta": -0.0419,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.729,
"after": 1.0,
"delta": 0.271,
"percent_delta": 0.3717,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.318,
"after": 4.0,
"delta": 0.682,
"percent_delta": 0.2055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.318 | - |
| predicted_AVG | 0.188 | - |
| predicted_BB | 0.153 | - |
| predicted_H | 0.390 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.229 | - |
| predicted_R | 0.424 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.729 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.365 | 0.047 |
| predicted_AVG | 0.206 | 0.018 |
| predicted_BB | 0.164 | 0.011 |
| predicted_H | 0.558 | 0.168 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.081 | 0.031 |
| predicted_OBP | 0.246 | 0.017 |
| predicted_R | 0.400 | -0.024 |
| predicted_RBI | 0.398 | 0.098 |
| predicted_SLG | 0.366 | 0.019 |
| predicted_SO | 0.783 | 0.054 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.365 | 0.000 |
| predicted_AVG | 0.168 | -0.037 |
| predicted_BB | 0.165 | 0.001 |
| predicted_H | 0.566 | 0.009 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.082 | 0.001 |
| predicted_OBP | 0.207 | -0.038 |
| predicted_R | 0.412 | 0.012 |
| predicted_RBI | 0.410 | 0.012 |
| predicted_SLG | 0.305 | -0.061 |
| predicted_SO | 0.777 | -0.006 |
AB rounded to 3 (raw=3.37), rates preserved: AVG=0.168 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.213 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.365 |
| predicted_AVG | 0.168 | -0.000 |
| predicted_BB | 0.000 | -0.165 |
| predicted_H | 1.000 | 0.434 |
| predicted_HR | 0.000 | -0.082 |
| predicted_OBP | 0.214 | 0.007 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.410 |
| predicted_SLG | 0.313 | 0.008 |
| predicted_SO | 1.000 | 0.223 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 6.000 | 0.1176 | 0.1667 | 0.2941 | 0.1177 | 0.0588 | 0.1765 | 0.0588 | 0.3529 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 1.000 | 6.000 | 3.000 | 2.000 | 9.000 | 0.2222 | 0.2632 | 0.3611 | 0.2222 | 0.0278 | 0.1667 | 0.0556 | 0.2500 |
| season | 0.60 | 85 | - | 282.000 | 75.000 | 20.000 | 0.000 | 9.000 | 42.000 | 36.000 | 13.000 | 62.000 | 0.2660 | 0.2983 | 0.4326 | 0.2660 | 0.0319 | 0.1489 | 0.0461 | 0.2199 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4290 |
| predicted_AVG | 0.2295 |
| predicted_BB | 0.1790 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.2687 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.5320 |
| predicted_SLG | 0.3921 |
| predicted_SO | 0.8560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.1820 | 0.2126 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3180 | 3.4290 | 3.3650 | model_form_blend |
| predicted_AVG | 0.1880 | 0.2295 | 0.2056 | model_form_blend |
| predicted_BB | 0.1530 | 0.1790 | 0.1640 | model_form_blend |
| predicted_H | 0.3900 | 0.7870 | 0.5579 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0500 | 0.1240 | 0.0813 | model_form_blend |
| predicted_OBP | 0.2290 | 0.2687 | 0.2458 | model_form_blend |
| predicted_R | 0.4240 | 0.3680 | 0.4003 | model_form_blend |
| predicted_RBI | 0.3000 | 0.5320 | 0.3981 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3921 | 0.3661 | model_form_blend |
| predicted_SO | 0.7290 | 0.8560 | 0.7827 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 269 |
| Season rows before report date | 269 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260902_NYM@TB |
| game_type | ph |
| mlbID | 676356 |
| note | Flied out for Mullins in the 6th. |
| playerID | 676356 |
| playerName | Jonny DeLuca |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.313 |
| sl_xwoba | 0.266 |
| sl_xba | 0.235 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 29.5 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 1.000 | 0.000 | Hitting_2B | 0.059 | 0.000 | 0.941 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.607 | 4.000 | 3.000 | Hitting_AB | 2.588 | 4.000 | 1.412 | 0.000 |
| predicted_AVG | 0.251 | 0.750 | 0.333 | Hitting_AVG | 0.205 | 0.000 | 0.545 | 0.750 |
| predicted_BB | 0.164 | 0.000 | 0.000 | Hitting_BB | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.520 | 3.000 | 1.000 | Hitting_H | 0.529 | 0.000 | 2.471 | 3.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_OBP | 0.277 | 0.750 | 0.333 | Hitting_OBP | 0.250 | 0.000 | 0.500 | 0.750 |
| predicted_R | 0.508 | 1.000 | 1.000 | Hitting_R | 0.412 | 0.000 | 0.588 | 1.000 |
| predicted_RBI | 0.260 | 3.000 | 0.000 | Hitting_RBI | 0.588 | 0.000 | 2.412 | 3.000 |
| predicted_SLG | 0.332 | 1.750 | 0.333 | Hitting_SLG | 0.364 | 0.000 | 1.386 | 1.750 |
| predicted_SO | 0.787 | 0.000 | 1.000 | Hitting_SO | 0.588 | 1.000 | -0.588 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.2600 -> 3.0000 (boost 2.7400, better) |
| Biggest Deboost | predicted_SO: 0.7870 -> 0.0000 (deboost -0.7870, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.6070 -> 2.7341 (boost 0.1271, better) | predicted_AVG: 0.2510 -> 0.2318 (deboost -0.0192, worse) | Final model input calibrated with local 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.2318 -> 0.2044 (deboost -0.0274, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5589 -> 1.0000 (boost 0.4411, better) | predicted_RBI: 0.3068 -> 0.0000 (deboost -0.3068, worse) | AB rounded to 3 (raw=2.73), rates preserved: AVG=0.204 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4972 -> 0.0000 (deboost -0.4972, 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.3204 -> 0.3280 (boost 0.0076, 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 | 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_SLG: 0.3280 -> 0.3204 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "622761",
"player_name": "Jorge Mateo",
"position": "SS",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.0,
"predicted_AB": 2.607,
"predicted_AVG": 0.251,
"predicted_BB": 0.164,
"predicted_H": 0.52,
"predicted_HR": 0.06,
"predicted_OBP": 0.277,
"predicted_R": 0.508,
"predicted_RBI": 0.26,
"predicted_SLG": 0.332,
"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.1101,
"predicted_3B": 0.0008,
"predicted_AB": 2.7341,
"predicted_AVG": 0.2318,
"predicted_BB": 0.1815,
"predicted_H": 0.5505,
"predicted_HBP": 0.004,
"predicted_HR": 0.0677,
"predicted_OBP": 0.2676,
"predicted_R": 0.4832,
"predicted_RBI": 0.2982,
"predicted_SLG": 0.3275,
"predicted_SO": 0.7902
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.1101,
"delta": -0.0049,
"percent_delta": -0.0426,
"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.607,
"after": 2.7341,
"delta": 0.1271,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2318,
"delta": -0.0192,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.1815,
"delta": 0.0175,
"percent_delta": 0.1067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 0.5505,
"delta": 0.0305,
"percent_delta": 0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0677,
"delta": 0.0077,
"percent_delta": 0.1283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2676,
"delta": -0.0094,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.4832,
"delta": -0.0248,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2982,
"delta": 0.0382,
"percent_delta": 0.1469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3275,
"delta": -0.0045,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.7902,
"delta": 0.0032,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.607,
"after": 2.7341,
"delta": 0.1271,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2318,
"delta": -0.0192,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1101,
"predicted_3B": 0.0008,
"predicted_AB": 2.7341,
"predicted_AVG": 0.2044,
"predicted_BB": 0.1829,
"predicted_H": 0.5589,
"predicted_HBP": 0.004,
"predicted_HR": 0.0685,
"predicted_OBP": 0.2543,
"predicted_R": 0.4972,
"predicted_RBI": 0.3068,
"predicted_SLG": 0.3204,
"predicted_SO": 0.7842
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7341,
"after": 2.7341,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2318,
"after": 0.2044,
"delta": -0.0274,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1815,
"after": 0.1829,
"delta": 0.0014,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5505,
"after": 0.5589,
"delta": 0.0084,
"percent_delta": 0.0153,
"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.0677,
"after": 0.0685,
"delta": 0.0008,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2676,
"after": 0.2543,
"delta": -0.0133,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4832,
"after": 0.4972,
"delta": 0.014,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2982,
"after": 0.3068,
"delta": 0.0086,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3275,
"after": 0.3204,
"delta": -0.0071,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7902,
"after": 0.7842,
"delta": -0.006,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2318,
"after": 0.2044,
"delta": -0.0274,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.73), rates preserved: AVG=0.204 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1101,
"after": 0.0,
"delta": -0.1101,
"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.7341,
"after": 3.0,
"delta": 0.2659,
"percent_delta": 0.0973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1829,
"after": 0.0,
"delta": -0.1829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5589,
"after": 1.0,
"delta": 0.4411,
"percent_delta": 0.7892,
"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.0685,
"after": 0.0,
"delta": -0.0685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3068,
"after": 0.0,
"delta": -0.3068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7842,
"after": 1.0,
"delta": 0.2158,
"percent_delta": 0.2752,
"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.5589,
"after": 1.0,
"delta": 0.4411,
"percent_delta": 0.7892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3068,
"after": 0.0,
"delta": -0.3068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4972,
"after": 0.0,
"delta": -0.4972,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4972,
"after": 0.0,
"delta": -0.4972,
"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": 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": 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.204,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.26,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.328,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2044,
"after": 0.204,
"delta": -0.0004,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2543,
"after": 0.26,
"delta": 0.0057,
"percent_delta": 0.0224,
"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.3204,
"after": 0.328,
"delta": 0.0076,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3204,
"after": 0.328,
"delta": 0.0076,
"percent_delta": 0.0237,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2044,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2543,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3204,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2044,
"delta": 0.0004,
"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_CS",
"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.26,
"after": 0.2543,
"delta": -0.0057,
"percent_delta": -0.0219,
"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.328,
"after": 0.3204,
"delta": -0.0076,
"percent_delta": -0.0231,
"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.328,
"after": 0.3204,
"delta": -0.0076,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 1.0,
"delta": 0.885,
"percent_delta": 7.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.607,
"after": 4.0,
"delta": 1.393,
"percent_delta": 0.5343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2044,
"delta": -0.0466,
"percent_delta": -0.1857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 3.0,
"delta": 2.48,
"percent_delta": 4.7692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 1.0,
"delta": 0.94,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2543,
"delta": -0.0227,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 3.0,
"delta": 2.74,
"percent_delta": 10.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3204,
"delta": -0.0116,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.0,
"delta": -0.787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.26,
"after": 3.0,
"delta": 2.74,
"percent_delta": 10.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.787,
"after": 0.0,
"delta": -0.787,
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.607 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.164 | - |
| predicted_H | 0.520 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.332 | - |
| 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.110 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.734 | 0.127 |
| predicted_AVG | 0.232 | -0.019 |
| predicted_BB | 0.181 | 0.017 |
| predicted_H | 0.550 | 0.030 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.068 | 0.008 |
| predicted_OBP | 0.268 | -0.009 |
| predicted_R | 0.483 | -0.025 |
| predicted_RBI | 0.298 | 0.038 |
| predicted_SLG | 0.328 | -0.005 |
| predicted_SO | 0.790 | 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.110 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.734 | 0.000 |
| predicted_AVG | 0.204 | -0.027 |
| predicted_BB | 0.183 | 0.001 |
| predicted_H | 0.559 | 0.008 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.069 | 0.001 |
| predicted_OBP | 0.254 | -0.013 |
| predicted_R | 0.497 | 0.014 |
| predicted_RBI | 0.307 | 0.009 |
| predicted_SLG | 0.320 | -0.007 |
| predicted_SO | 0.784 | -0.006 |
AB rounded to 3 (raw=2.73), rates preserved: AVG=0.204 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.110 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.266 |
| predicted_AVG | 0.204 | -0.000 |
| predicted_BB | 0.000 | -0.183 |
| predicted_H | 1.000 | 0.441 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.260 | 0.006 |
| predicted_R | 0.000 | -0.497 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.328 | 0.008 |
| predicted_SO | 1.000 | 0.216 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 4.000 | 0.1333 | 0.1765 | 0.1333 | 0.1333 | 0.0000 | 0.1333 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 3.000 | 7.000 | 0.1667 | 0.2353 | 0.3000 | 0.1667 | 0.0333 | 0.1667 | 0.1000 | 0.2333 |
| season | 0.60 | 61 | - | 159.000 | 36.000 | 7.000 | 0.000 | 5.000 | 16.000 | 31.000 | 10.000 | 48.000 | 0.2264 | 0.2706 | 0.3648 | 0.2264 | 0.0314 | 0.1006 | 0.0629 | 0.3019 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9200 |
| predicted_AVG | 0.2037 |
| predicted_BB | 0.2070 |
| predicted_H | 0.5950 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.2539 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.3540 |
| predicted_SLG | 0.3208 |
| predicted_SO | 0.7950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.1030 | 0.1101 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.6070 | 2.9200 | 2.7341 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2037 | 0.2318 | model_form_blend |
| predicted_BB | 0.1640 | 0.2070 | 0.1815 | model_form_blend |
| predicted_H | 0.5200 | 0.5950 | 0.5505 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0600 | 0.0790 | 0.0677 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2539 | 0.2676 | model_form_blend |
| predicted_R | 0.5080 | 0.4470 | 0.4832 | model_form_blend |
| predicted_RBI | 0.2600 | 0.3540 | 0.2982 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3208 | 0.3275 | model_form_blend |
| predicted_SO | 0.7870 | 0.7950 | 0.7902 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 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 | 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 | 2B |
| gameID | 20260901_NYM@TB |
| game_type | full |
| mlbID | 622761 |
| playerID | 622761 |
| playerName | Jorge Mateo |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-01 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.282 |
| sl_xwoba | 0.311 |
| sl_xba | 0.251 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 44.6 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 54.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 2.931 | 4.000 | 3.000 | Hitting_AB | 3.169 | 4.000 | 0.831 | 0.000 |
| predicted_AVG | 0.222 | 0.250 | 0.333 | Hitting_AVG | 0.250 | 0.250 | -0.000 | 0.000 |
| predicted_BB | 0.386 | 0.000 | 0.000 | Hitting_BB | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.640 | 1.000 | 1.000 | Hitting_H | 0.794 | 1.000 | 0.206 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.066 | 1.000 | -0.066 | -1.000 |
| predicted_OBP | 0.262 | 0.250 | 0.333 | Hitting_OBP | 0.353 | 0.250 | -0.103 | 0.000 |
| predicted_R | 0.406 | 1.000 | 0.000 | Hitting_R | 0.494 | 1.000 | 0.506 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 2.000 | -0.466 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_SLG | 0.365 | 0.250 | 0.333 | Hitting_SLG | 0.374 | 1.000 | -0.124 | -0.750 |
| predicted_SO | 0.604 | 1.000 | 0.000 | Hitting_SO | 0.669 | 0.000 | 0.331 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9310 -> 4.0000 (boost 1.0690, better) |
| Biggest Deboost | predicted_RBI: 0.4100 -> 0.0000 (deboost -0.4100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.9310 -> 3.0661 (boost 0.1351, better) | predicted_SLG: 0.3650 -> 0.3428 (deboost -0.0222, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2589 -> 0.2887 (boost 0.0298, 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.5947 -> 1.0000 (boost 0.4053, worse) | predicted_RBI: 0.4311 -> 0.0000 (deboost -0.4311, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.032 |
| 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 | 1 | 1 | 2 | 0 | predicted_RBI: 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 |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | 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 | 2 | 2 | 0 | 2 | 0 | 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.2940 -> 0.2887 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680700",
"player_name": "Richie Palacios",
"position": "2B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.119,
"predicted_3B": 0.02,
"predicted_AB": 2.931,
"predicted_AVG": 0.222,
"predicted_BB": 0.386,
"predicted_H": 0.64,
"predicted_HR": 0.1,
"predicted_OBP": 0.262,
"predicted_R": 0.406,
"predicted_RBI": 0.41,
"predicted_SLG": 0.365,
"predicted_SO": 0.604
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1118,
"predicted_3B": 0.017,
"predicted_AB": 3.0661,
"predicted_AVG": 0.2066,
"predicted_BB": 0.351,
"predicted_H": 0.6242,
"predicted_HBP": 0.02,
"predicted_HR": 0.0979,
"predicted_OBP": 0.2589,
"predicted_R": 0.4098,
"predicted_RBI": 0.419,
"predicted_SLG": 0.3428,
"predicted_SO": 0.5993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1118,
"delta": -0.0072,
"percent_delta": -0.0605,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.017,
"delta": -0.003,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.931,
"after": 3.0661,
"delta": 0.1351,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2066,
"delta": -0.0154,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.351,
"delta": -0.035,
"percent_delta": -0.0907,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6242,
"delta": -0.0158,
"percent_delta": -0.0247,
"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.262,
"after": 0.2589,
"delta": -0.0031,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.4098,
"delta": 0.0038,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.419,
"delta": 0.009,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3428,
"delta": -0.0222,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.604,
"after": 0.5993,
"delta": -0.0047,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.931,
"after": 3.0661,
"delta": 0.1351,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3428,
"delta": -0.0222,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1118,
"predicted_3B": 0.017,
"predicted_AB": 3.0661,
"predicted_AVG": 0.2067,
"predicted_BB": 0.3537,
"predicted_H": 0.6338,
"predicted_HBP": 0.02,
"predicted_HR": 0.099,
"predicted_OBP": 0.2887,
"predicted_R": 0.4216,
"predicted_RBI": 0.4311,
"predicted_SLG": 0.3511,
"predicted_SO": 0.5947
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1118,
"after": 0.1118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0661,
"after": 3.0661,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2066,
"after": 0.2067,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.3537,
"delta": 0.0027,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6242,
"after": 0.6338,
"delta": 0.0096,
"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.0979,
"after": 0.099,
"delta": 0.0011,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2589,
"after": 0.2887,
"delta": 0.0298,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4098,
"after": 0.4216,
"delta": 0.0118,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.419,
"after": 0.4311,
"delta": 0.0121,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3428,
"after": 0.3511,
"delta": 0.0083,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5993,
"after": 0.5947,
"delta": -0.0046,
"percent_delta": -0.0077,
"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.2589,
"after": 0.2887,
"delta": 0.0298,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1118,
"after": 0.0,
"delta": -0.1118,
"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.0661,
"after": 3.0,
"delta": -0.0661,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.0,
"delta": -0.3537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6338,
"after": 1.0,
"delta": 0.3662,
"percent_delta": 0.5778,
"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.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"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.5947,
"after": 1.0,
"delta": 0.4053,
"percent_delta": 0.6815,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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": 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_RBI",
"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": 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.294,
"predicted_R": 0.0,
"predicted_RBI": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2067,
"after": 0.207,
"delta": 0.0003,
"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.2887,
"after": 0.294,
"delta": 0.0053,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3511,
"after": 0.351,
"delta": -0.0001,
"percent_delta": -0.0003,
"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_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2067,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2887,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3511,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2067,
"delta": -0.0003,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2887,
"delta": -0.0053,
"percent_delta": -0.0179,
"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.351,
"after": 0.3511,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.294,
"after": 0.2887,
"delta": -0.0053,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.931,
"after": 4.0,
"delta": 1.069,
"percent_delta": 0.3647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2067,
"delta": -0.0153,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.2887,
"delta": 0.0267,
"percent_delta": 0.1019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 1.0,
"delta": 0.594,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3511,
"delta": -0.0139,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.931,
"after": 4.0,
"delta": 1.069,
"percent_delta": 0.3647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 2.931 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.262 | - |
| predicted_R | 0.406 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.604 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 | -0.003 |
| predicted_AB | 3.066 | 0.135 |
| predicted_AVG | 0.207 | -0.015 |
| predicted_BB | 0.351 | -0.035 |
| predicted_H | 0.624 | -0.016 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.259 | -0.003 |
| predicted_R | 0.410 | 0.004 |
| predicted_RBI | 0.419 | 0.009 |
| predicted_SLG | 0.343 | -0.022 |
| predicted_SO | 0.599 | -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.112 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.066 | 0.000 |
| predicted_AVG | 0.207 | 0.000 |
| predicted_BB | 0.354 | 0.003 |
| predicted_H | 0.634 | 0.010 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.099 | 0.001 |
| predicted_OBP | 0.289 | 0.030 |
| predicted_R | 0.422 | 0.012 |
| predicted_RBI | 0.431 | 0.012 |
| predicted_SLG | 0.351 | 0.008 |
| predicted_SO | 0.595 | -0.005 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 | 1.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.112 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | -0.066 |
| predicted_AVG | 0.207 | 0.000 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 1.000 | 0.366 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.294 | 0.005 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.431 |
| predicted_SLG | 0.351 | -0.000 |
| predicted_SO | 1.000 | 0.405 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.1111 | 0.1579 | 0.2778 | 0.1111 | 0.0556 | 0.1111 | 0.0556 | 0.1667 |
| last_10 | 0.20 | 10 | - | 36.000 | 4.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 1.000 | 4.000 | 0.1111 | 0.1316 | 0.2222 | 0.1111 | 0.0278 | 0.1389 | 0.0278 | 0.1111 |
| season | 0.60 | 101 | - | 296.000 | 67.000 | 12.000 | 2.000 | 6.000 | 41.000 | 41.000 | 39.000 | 61.000 | 0.2264 | 0.3206 | 0.3412 | 0.2263 | 0.0203 | 0.1385 | 0.1318 | 0.2061 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.2480 |
| predicted_AVG | 0.1858 |
| predicted_BB | 0.3040 |
| predicted_H | 0.6030 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.2548 |
| predicted_R | 0.4150 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.3130 |
| predicted_SO | 0.5930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.1020 | 0.1118 | model_form_blend |
| predicted_3B | 0.0200 | 0.0130 | 0.0170 | model_form_blend |
| predicted_AB | 2.9310 | 3.2480 | 3.0661 | model_form_blend |
| predicted_AVG | 0.2220 | 0.1858 | 0.2066 | model_form_blend |
| predicted_BB | 0.3860 | 0.3040 | 0.3510 | model_form_blend |
| predicted_H | 0.6400 | 0.6030 | 0.6242 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1000 | 0.0950 | 0.0979 | model_form_blend |
| predicted_OBP | 0.2620 | 0.2548 | 0.2589 | model_form_blend |
| predicted_R | 0.4060 | 0.4150 | 0.4098 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4310 | 0.4190 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3130 | 0.3428 | model_form_blend |
| predicted_SO | 0.6040 | 0.5930 | 0.5993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 320 |
| Season rows before report date | 320 |
| Report year | 2026 |
| Profile rows used | 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 | 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_NYM@TB |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.3 |
| sl_xwoba | 0.303 |
| sl_xba | 0.242 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 27.6 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.085 | 0.000 | 0.000 | Hitting_2B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.376 | 3.000 | 3.000 | Hitting_AB | 3.590 | 2.000 | -0.590 | 1.000 |
| predicted_AVG | 0.199 | 0.667 | 0.333 | Hitting_AVG | 0.211 | 0.500 | 0.456 | 0.167 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.356 | 0.000 | 0.644 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_H | 0.640 | 2.000 | 1.000 | Hitting_H | 0.757 | 1.000 | 1.243 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.304 | 0.750 | 0.333 | Hitting_OBP | 0.292 | 0.500 | 0.458 | 0.250 |
| predicted_R | 0.436 | 1.000 | 1.000 | Hitting_R | 0.486 | 1.000 | 0.514 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.410 | 1.000 | -0.410 | -1.000 |
| predicted_SLG | 0.338 | 0.667 | 0.333 | Hitting_SLG | 0.363 | 0.500 | 0.304 | 0.167 |
| predicted_SO | 0.752 | 0.000 | 1.000 | Hitting_SO | 0.817 | 0.000 | -0.817 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.6400 -> 2.0000 (boost 1.3600, better) |
| Biggest Deboost | predicted_SO: 0.7520 -> 0.0000 (deboost -0.7520, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.3380 -> 0.3596 (boost 0.0216, better) | predicted_AB: 3.3760 -> 3.2867 (deboost -0.0893, worse) | Final model input calibrated with local 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.3040 -> 0.2807 (deboost -0.0233, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6692 -> 1.0000 (boost 0.3308, worse) | predicted_RBI: 0.4150 -> 0.0000 (deboost -0.4150, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.203 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4833 -> 0.0000 (deboost -0.4833, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3519 -> 0.3660 (boost 0.0141, 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 |
| 9 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3660 -> 0.3519 (deboost -0.0141, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.085,
"predicted_3B": 0.026,
"predicted_AB": 3.376,
"predicted_AVG": 0.199,
"predicted_BB": 0.333,
"predicted_H": 0.64,
"predicted_HR": 0.1,
"predicted_OBP": 0.304,
"predicted_R": 0.436,
"predicted_RBI": 0.38,
"predicted_SLG": 0.338,
"predicted_SO": 0.752
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0815,
"predicted_3B": 0.0208,
"predicted_AB": 3.2867,
"predicted_AVG": 0.2113,
"predicted_BB": 0.3274,
"predicted_H": 0.675,
"predicted_HBP": 0.033,
"predicted_HR": 0.1147,
"predicted_OBP": 0.304,
"predicted_R": 0.4697,
"predicted_RBI": 0.4033,
"predicted_SLG": 0.3596,
"predicted_SO": 0.6743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0815,
"delta": -0.0035,
"percent_delta": -0.0412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0208,
"delta": -0.0052,
"percent_delta": -0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.376,
"after": 3.2867,
"delta": -0.0893,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.199,
"after": 0.2113,
"delta": 0.0123,
"percent_delta": 0.0618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3274,
"delta": -0.0056,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.675,
"delta": 0.035,
"percent_delta": 0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1147,
"delta": 0.0147,
"percent_delta": 0.147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.304,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.436,
"after": 0.4697,
"delta": 0.0337,
"percent_delta": 0.0773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.4033,
"delta": 0.0233,
"percent_delta": 0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3596,
"delta": 0.0216,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.6743,
"delta": -0.0777,
"percent_delta": -0.1033,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3596,
"delta": 0.0216,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.376,
"after": 3.2867,
"delta": -0.0893,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0815,
"predicted_3B": 0.0208,
"predicted_AB": 3.2867,
"predicted_AVG": 0.2085,
"predicted_BB": 0.3299,
"predicted_H": 0.6853,
"predicted_HBP": 0.033,
"predicted_HR": 0.116,
"predicted_OBP": 0.2807,
"predicted_R": 0.4833,
"predicted_RBI": 0.415,
"predicted_SLG": 0.3519,
"predicted_SO": 0.6692
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0815,
"after": 0.0815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2867,
"after": 3.2867,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2113,
"after": 0.2085,
"delta": -0.0028,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3274,
"after": 0.3299,
"delta": 0.0025,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.675,
"after": 0.6853,
"delta": 0.0103,
"percent_delta": 0.0153,
"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.1147,
"after": 0.116,
"delta": 0.0013,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2807,
"delta": -0.0233,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4697,
"after": 0.4833,
"delta": 0.0136,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4033,
"after": 0.415,
"delta": 0.0117,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3596,
"after": 0.3519,
"delta": -0.0077,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6743,
"after": 0.6692,
"delta": -0.0051,
"percent_delta": -0.0076,
"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.2807,
"delta": -0.0233,
"percent_delta": -0.0766,
"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.203 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0815,
"after": 0.0,
"delta": -0.0815,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0,
"delta": -0.0208,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2867,
"after": 3.0,
"delta": -0.2867,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3299,
"after": 0.0,
"delta": -0.3299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6853,
"after": 1.0,
"delta": 0.3147,
"percent_delta": 0.4592,
"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.116,
"after": 0.0,
"delta": -0.116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6692,
"after": 1.0,
"delta": 0.3308,
"percent_delta": 0.4943,
"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.6692,
"after": 1.0,
"delta": 0.3308,
"percent_delta": 0.4943,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4833,
"after": 0.0,
"delta": -0.4833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4833,
"after": 0.0,
"delta": -0.4833,
"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.205,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.282,
"predicted_R": 0.0,
"predicted_RBI": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2085,
"after": 0.205,
"delta": -0.0035,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2807,
"after": 0.282,
"delta": 0.0013,
"percent_delta": 0.0046,
"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.3519,
"after": 0.366,
"delta": 0.0141,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3519,
"after": 0.366,
"delta": 0.0141,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2085,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2807,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3519,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2085,
"delta": 0.0035,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2807,
"delta": -0.0013,
"percent_delta": -0.0046,
"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.366,
"after": 0.3519,
"delta": -0.0141,
"percent_delta": -0.0386,
"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.366,
"after": 0.3519,
"delta": -0.0141,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.376,
"after": 3.0,
"delta": -0.376,
"percent_delta": -0.1114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.199,
"after": 0.2085,
"delta": 0.0095,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2807,
"delta": -0.0233,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.436,
"after": 1.0,
"delta": 0.564,
"percent_delta": 1.2936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3519,
"delta": 0.0139,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.0,
"delta": -0.752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.752,
"after": 0.0,
"delta": -0.752,
"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.085 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.376 | - |
| predicted_AVG | 0.199 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.436 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.752 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | -0.004 |
| predicted_3B | 0.021 | -0.005 |
| predicted_AB | 3.287 | -0.089 |
| predicted_AVG | 0.211 | 0.012 |
| predicted_BB | 0.327 | -0.006 |
| predicted_H | 0.675 | 0.035 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.115 | 0.015 |
| predicted_OBP | 0.304 | 0.000 |
| predicted_R | 0.470 | 0.034 |
| predicted_RBI | 0.403 | 0.023 |
| predicted_SLG | 0.360 | 0.022 |
| predicted_SO | 0.674 | -0.078 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.287 | 0.000 |
| predicted_AVG | 0.208 | -0.003 |
| predicted_BB | 0.330 | 0.003 |
| predicted_H | 0.685 | 0.010 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.116 | 0.001 |
| predicted_OBP | 0.281 | -0.023 |
| predicted_R | 0.483 | 0.014 |
| predicted_RBI | 0.415 | 0.012 |
| predicted_SLG | 0.352 | -0.008 |
| predicted_SO | 0.669 | -0.005 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.203 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.082 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | -0.287 |
| predicted_AVG | 0.205 | -0.004 |
| predicted_BB | 0.000 | -0.330 |
| predicted_H | 1.000 | 0.315 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.282 | 0.001 |
| predicted_R | 0.000 | -0.483 |
| predicted_RBI | 0.000 | -0.415 |
| predicted_SLG | 0.366 | 0.014 |
| predicted_SO | 1.000 | 0.331 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 1.000 | 0.2857 | 0.3333 | 0.5000 | 0.2857 | 0.0714 | 0.2143 | 0.0714 | 0.0714 |
| last_10 | 0.20 | 10 | - | 27.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 4.000 | 4.000 | 0.2222 | 0.3226 | 0.3704 | 0.2222 | 0.0370 | 0.1482 | 0.1482 | 0.1482 |
| season | 0.60 | 117 | - | 395.000 | 82.000 | 10.000 | 3.000 | 14.000 | 43.000 | 51.000 | 39.000 | 88.000 | 0.2076 | 0.2876 | 0.3544 | 0.2076 | 0.0354 | 0.1089 | 0.0987 | 0.2228 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0770 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.1690 |
| predicted_AVG | 0.2275 |
| predicted_BB | 0.3200 |
| predicted_H | 0.7210 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.3039 |
| predicted_R | 0.5140 |
| predicted_RBI | 0.4340 |
| predicted_SLG | 0.3880 |
| predicted_SO | 0.5720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.0770 | 0.0815 | model_form_blend |
| predicted_3B | 0.0260 | 0.0140 | 0.0208 | model_form_blend |
| predicted_AB | 3.3760 | 3.1690 | 3.2867 | model_form_blend |
| predicted_AVG | 0.1990 | 0.2275 | 0.2113 | model_form_blend |
| predicted_BB | 0.3330 | 0.3200 | 0.3274 | model_form_blend |
| predicted_H | 0.6400 | 0.7210 | 0.6750 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1000 | 0.1340 | 0.1147 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3039 | 0.3040 | model_form_blend |
| predicted_R | 0.4360 | 0.5140 | 0.4697 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4340 | 0.4033 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3880 | 0.3596 | model_form_blend |
| predicted_SO | 0.7520 | 0.5720 | 0.6743 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 432 |
| Season rows before report date | 432 |
| 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 | 3 |
| H | 2 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 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 | CF |
| gameID | 20260902_NYM@TB |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.286 |
| sl_xwoba | 0.265 |
| sl_xba | 0.19 |
| sl_xslg | 0.316 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 32.5 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 26.2 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.170 | 1.000 | 0.000 | Hitting_2B | 0.182 | 1.000 | 0.818 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 3.000 | Hitting_AB | 3.164 | 4.000 | 0.836 | 0.000 |
| predicted_AVG | 0.253 | 0.250 | 0.333 | Hitting_AVG | 0.271 | 0.500 | -0.021 | -0.250 |
| predicted_BB | 0.102 | 0.000 | 0.000 | Hitting_BB | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 1.000 | 1.000 | Hitting_H | 0.857 | 2.000 | 0.143 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.285 | 0.250 | 0.333 | Hitting_OBP | 0.317 | 0.500 | -0.067 | -0.250 |
| predicted_R | 0.330 | 1.000 | 0.000 | Hitting_R | 0.381 | 1.000 | 0.619 | 0.000 |
| predicted_RBI | 0.350 | 1.000 | 0.000 | Hitting_RBI | 0.385 | 1.000 | 0.615 | 0.000 |
| predicted_SLG | 0.358 | 0.500 | 0.333 | Hitting_SLG | 0.381 | 0.750 | 0.119 | -0.250 |
| predicted_SO | 0.409 | 0.000 | 0.000 | Hitting_SO | 0.427 | 1.000 | -0.427 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.4090 -> 0.0000 (deboost -0.4090, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3580 -> 0.3430 (deboost -0.0150, worse) | Final model input calibrated with local 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.2823 -> 0.2664 (deboost -0.0159, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_H: 0.7107 -> 1.0000 (boost 0.2893, better) | predicted_SO: 0.4427 -> 0.0000 (deboost -0.4427, better) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.234 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3165 -> 0.0000 (deboost -0.3165, 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.3366 -> 0.3440 (boost 0.0074, better) | - | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3440 -> 0.3366 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663743",
"player_name": "Nick Fortes",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.253,
"predicted_BB": 0.102,
"predicted_H": 0.7,
"predicted_HR": 0.05,
"predicted_OBP": 0.285,
"predicted_R": 0.33,
"predicted_RBI": 0.35,
"predicted_SLG": 0.358,
"predicted_SO": 0.409
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1755,
"predicted_3B": 0.0004,
"predicted_AB": 3.0329,
"predicted_AVG": 0.2422,
"predicted_BB": 0.1315,
"predicted_H": 0.7,
"predicted_HBP": 0.047,
"predicted_HR": 0.0441,
"predicted_OBP": 0.2823,
"predicted_R": 0.3076,
"predicted_RBI": 0.3298,
"predicted_SLG": 0.343,
"predicted_SO": 0.4461
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.1755,
"delta": 0.0055,
"percent_delta": 0.0324,
"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.0,
"after": 3.0329,
"delta": 0.0329,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2422,
"delta": -0.0108,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.102,
"after": 0.1315,
"delta": 0.0295,
"percent_delta": 0.2892,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0441,
"delta": -0.0059,
"percent_delta": -0.118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2823,
"delta": -0.0027,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.33,
"after": 0.3076,
"delta": -0.0224,
"percent_delta": -0.0679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3298,
"delta": -0.0202,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.343,
"delta": -0.015,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.409,
"after": 0.4461,
"delta": 0.0371,
"percent_delta": 0.0907,
"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.358,
"after": 0.343,
"delta": -0.015,
"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": 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.1755,
"predicted_3B": 0.0004,
"predicted_AB": 3.0329,
"predicted_AVG": 0.2343,
"predicted_BB": 0.1325,
"predicted_H": 0.7107,
"predicted_HBP": 0.047,
"predicted_HR": 0.0446,
"predicted_OBP": 0.2664,
"predicted_R": 0.3165,
"predicted_RBI": 0.3393,
"predicted_SLG": 0.3366,
"predicted_SO": 0.4427
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1755,
"after": 0.1755,
"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.0329,
"after": 3.0329,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2422,
"after": 0.2343,
"delta": -0.0079,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1315,
"after": 0.1325,
"delta": 0.001,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7107,
"delta": 0.0107,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0441,
"after": 0.0446,
"delta": 0.0005,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2823,
"after": 0.2664,
"delta": -0.0159,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3076,
"after": 0.3165,
"delta": 0.0089,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3298,
"after": 0.3393,
"delta": 0.0095,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3366,
"delta": -0.0064,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4461,
"after": 0.4427,
"delta": -0.0034,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2823,
"after": 0.2664,
"delta": -0.0159,
"percent_delta": -0.0563,
"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.234 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1755,
"after": 0.0,
"delta": -0.1755,
"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.0329,
"after": 3.0,
"delta": -0.0329,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1325,
"after": 0.0,
"delta": -0.1325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7107,
"after": 1.0,
"delta": 0.2893,
"percent_delta": 0.4071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0446,
"after": 0.0,
"delta": -0.0446,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4427,
"after": 0.0,
"delta": -0.4427,
"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_H",
"before": 0.7107,
"after": 1.0,
"delta": 0.2893,
"percent_delta": 0.4071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4427,
"after": 0.0,
"delta": -0.4427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3165,
"after": 0.0,
"delta": -0.3165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3165,
"after": 0.0,
"delta": -0.3165,
"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": 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": 3.0,
"predicted_AVG": 0.234,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.272,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.344,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2343,
"after": 0.234,
"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.2664,
"after": 0.272,
"delta": 0.0056,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3366,
"after": 0.344,
"delta": 0.0074,
"percent_delta": 0.022,
"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.3366,
"after": 0.344,
"delta": 0.0074,
"percent_delta": 0.022,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2343,
"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.2664,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3366,
"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.234,
"after": 0.2343,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2664,
"delta": -0.0056,
"percent_delta": -0.0206,
"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.344,
"after": 0.3366,
"delta": -0.0074,
"percent_delta": -0.0215,
"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.344,
"after": 0.3366,
"delta": -0.0074,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"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_AVG",
"before": 0.253,
"after": 0.2343,
"delta": -0.0187,
"percent_delta": -0.0739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2664,
"delta": -0.0186,
"percent_delta": -0.0653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"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.358,
"after": 0.3366,
"delta": -0.0214,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"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.170 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.102 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.330 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.409 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.033 | 0.033 |
| predicted_AVG | 0.242 | -0.011 |
| predicted_BB | 0.132 | 0.030 |
| predicted_H | 0.700 | 0.000 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.044 | -0.006 |
| predicted_OBP | 0.282 | -0.003 |
| predicted_R | 0.308 | -0.022 |
| predicted_RBI | 0.330 | -0.020 |
| predicted_SLG | 0.343 | -0.015 |
| predicted_SO | 0.446 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.033 | 0.000 |
| predicted_AVG | 0.234 | -0.008 |
| predicted_BB | 0.133 | 0.001 |
| predicted_H | 0.711 | 0.011 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.045 | 0.001 |
| predicted_OBP | 0.266 | -0.016 |
| predicted_R | 0.317 | 0.009 |
| predicted_RBI | 0.339 | 0.010 |
| predicted_SLG | 0.337 | -0.006 |
| predicted_SO | 0.443 | -0.003 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.234 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.175 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.033 |
| predicted_AVG | 0.234 | -0.000 |
| predicted_BB | 0.000 | -0.133 |
| predicted_H | 1.000 | 0.289 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.272 | 0.006 |
| predicted_R | 0.000 | -0.317 |
| predicted_RBI | 0.000 | -0.339 |
| predicted_SLG | 0.344 | 0.007 |
| predicted_SO | 0.000 | -0.443 |
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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 1.000 | 1.000 | 1.000 | 3.000 | 0.1875 | 0.2353 | 0.2500 | 0.1875 | 0.0000 | 0.0625 | 0.0625 | 0.1875 |
| last_10 | 0.20 | 10 | - | 28.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 5.000 | 0.1429 | 0.2258 | 0.2143 | 0.1429 | 0.0000 | 0.0714 | 0.1071 | 0.1786 |
| season | 0.60 | 88 | - | 264.000 | 70.000 | 15.000 | 0.000 | 4.000 | 30.000 | 29.000 | 9.000 | 36.000 | 0.2652 | 0.3060 | 0.3674 | 0.2651 | 0.0152 | 0.1136 | 0.0341 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0780 |
| predicted_AVG | 0.2274 |
| predicted_BB | 0.1720 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.2787 |
| predicted_R | 0.2770 |
| predicted_RBI | 0.3020 |
| predicted_SLG | 0.3224 |
| predicted_SO | 0.4970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.1830 | 0.1755 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0000 | 3.0780 | 3.0329 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2274 | 0.2422 | model_form_blend |
| predicted_BB | 0.1020 | 0.1720 | 0.1315 | model_form_blend |
| predicted_H | 0.7000 | 0.7000 | 0.7000 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0500 | 0.0360 | 0.0441 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2787 | 0.2823 | model_form_blend |
| predicted_R | 0.3300 | 0.2770 | 0.3076 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3020 | 0.3298 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3224 | 0.3430 | model_form_blend |
| predicted_SO | 0.4090 | 0.4970 | 0.4461 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 286 |
| Season rows before report date | 286 |
| Report year | 2026 |
| Profile rows used | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 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 | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260901_NYM@TB |
| game_type | full |
| mlbID | 663743 |
| playerID | 663743 |
| playerName | Nick Fortes |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-01 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.298 |
| sl_xwoba | 0.278 |
| sl_xba | 0.247 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 24.3 |
| sl_barrel_batted_rate | 2.1 |
| sl_hard_hit_percent | 34.2 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.652 | 2.000 | -0.652 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.739 | 3.000 | 0.261 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.783 | 3.000 | -0.783 | 0.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 4.791 | 5.200 | 0.309 | -0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.478 | 4.000 | 0.522 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.1000 (deboost -0.5667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.1000 (deboost -0.5667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663556",
"player_name": "Shane McClanahan",
"position": "Starter",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"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.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.1,
"after": 5.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": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.1,
"after": 5.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"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.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.100 | -0.567 |
| predicted_SO | 5.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.100 | 0.000 |
| 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 | 22.000 | 8.000 | 13.000 | 7.000 | 18.000 | 2.000 | 3.2727 | 0.9091 | 0.3636 | 0.5909 | 0.3182 | 0.8182 | 0.0909 |
| last_10 | 0.35 | 10 | 49.000 | 17.000 | 34.000 | 16.000 | 37.000 | 6.000 | 3.1224 | 1.0204 | 0.3469 | 0.6939 | 0.3265 | 0.7551 | 0.1225 |
| season | 0.20 | 23 | 113.000 | 40.000 | 87.000 | 38.000 | 103.000 | 9.000 | 3.1858 | 1.1062 | 0.3540 | 0.7699 | 0.3363 | 0.9115 | 0.0796 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6220 |
| predicted_ER | 1.8570 |
| predicted_ERA | 3.4305 |
| predicted_H | 3.4990 |
| predicted_HR | 0.5270 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.0780 |
| predicted_WHIP | 1.0511 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6220 | 1.3574 | model_form_blend |
| predicted_ER | 2.0000 | 1.8570 | 1.9178 | model_form_blend |
| predicted_ERA | - | 3.4305 | 3.4305 | form_only |
| predicted_H | 3.0000 | 3.4990 | 3.2867 | model_form_blend |
| predicted_HR | 0.0000 | 0.5270 | 0.3028 | model_form_blend |
| predicted_IP | 5.2000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.0780 | 4.4703 | model_form_blend |
| predicted_WHIP | - | 1.0511 | 1.0511 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 20 |
| Pitches | 82 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 3 |
| Pitching_ERA | 3.19 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 8 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 80 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_SD@TB |
| game_type | full |
| mlbID | 663556 |
| playerID | 663556 |
| playerName | Shane McClanahan |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-08-28 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.268 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 40.9 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 77.800822968 |
| sl_avg_hyper_speed | 94.48958055 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.400 | 1.000 | 0.600 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.700 | 0.000 | 1.300 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.230 | 1.200 | -0.130 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.300 | 1.000 | 0.700 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669330",
"player_name": "Tyler Wells",
"position": "Middle Reliever (High Leverage)",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.4500 | 0.0000 | 0.1500 | 0.3000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 3.000 | 7.000 | 4.000 | 13.000 | 2.000 | 2.0769 | 0.8462 | 0.2308 | 0.5385 | 0.3077 | 1.0000 | 0.1538 |
| season | 0.20 | 53 | 67.000 | 19.000 | 46.000 | 17.000 | 66.000 | 8.000 | 2.5522 | 0.9403 | 0.2836 | 0.6866 | 0.2537 | 0.9851 | 0.1194 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4190 |
| predicted_ER | 0.3130 |
| predicted_ERA | 2.1150 |
| predicted_H | 0.7340 |
| predicted_HR | 0.1290 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.1990 |
| predicted_WHIP | 0.8646 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4190 | 0.6888 | model_form_blend |
| predicted_ER | 0.0000 | 0.3130 | 0.1676 | model_form_blend |
| predicted_ERA | - | 2.1150 | 2.1150 | form_only |
| predicted_H | 2.0000 | 0.7340 | 1.3219 | model_form_blend |
| predicted_HR | 0.0000 | 0.1290 | 0.0691 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1990 | 1.5710 | model_form_blend |
| predicted_WHIP | - | 0.8646 | 0.8646 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 7 |
| Pitches | 27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.55 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 26 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260901_NYM@TB |
| game_type | full |
| mlbID | 669330 |
| playerID | 669330 |
| playerName | Tyler Wells |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-01 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.261 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 32.6 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 52.2 |
| sl_avg_best_speed | 77.979240233 |
| sl_avg_hyper_speed | 92.96400064 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.316 | 1.000 | -0.316 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.544 | 1.000 | 0.456 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.940 | 1.000 | 0.160 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.053 | 0.000 | -1.053 | 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": "641329",
"player_name": "Bryan Baker",
"position": "Closer",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 3.000 | 2.000 | 4.000 | 1.000 | 1.8000 | 1.0000 | 0.2000 | 0.6000 | 0.4000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 8.000 | 3.000 | 12.000 | 2.000 | 1.6875 | 1.0312 | 0.1875 | 0.7500 | 0.2812 | 1.1250 | 0.1875 |
| season | 0.20 | 56 | 55.000 | 9.000 | 30.000 | 18.000 | 60.000 | 4.000 | 1.4727 | 0.8727 | 0.1636 | 0.5454 | 0.3273 | 1.0909 | 0.0727 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3520 |
| predicted_ER | 0.2850 |
| predicted_ERA | 2.5618 |
| predicted_H | 0.7450 |
| predicted_HR | 0.1630 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9620 |
| predicted_WHIP | 1.0970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3520 | 0.1825 | model_form_blend |
| predicted_ER | 0.0000 | 0.2850 | 0.1478 | model_form_blend |
| predicted_ERA | - | 2.5618 | 2.5618 | form_only |
| predicted_H | 1.0000 | 0.7450 | 0.8678 | model_form_blend |
| predicted_HR | 0.0000 | 0.1630 | 0.0845 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9620 | 0.4987 | model_form_blend |
| predicted_WHIP | - | 1.0970 | 1.0970 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 57 |
| Season rows before report date | 57 |
| 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.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.47 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260902_NYM@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-02 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.228 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 53.7 |
| sl_avg_best_speed | 75.356438788 |
| sl_avg_hyper_speed | 93.558961439 |
| 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.183 | 0.000 | -0.183 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.233 | 0.000 | 1.767 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.717 | 0.000 | 1.283 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.918 | 1.000 | 0.082 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.867 | 2.000 | 0.133 | -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": "687330",
"player_name": "Kevin Kelly",
"position": "Setup Man",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 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 | 6.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.1667 | 0.3333 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 7.000 | 2.000 | 9.000 | 1.000 | 1.6875 | 0.8438 | 0.1875 | 0.6562 | 0.1875 | 0.8438 | 0.0938 |
| season | 0.20 | 60 | 64.200 | 14.000 | 43.000 | 11.000 | 52.000 | 5.000 | 1.9485 | 0.8351 | 0.2165 | 0.6650 | 0.1701 | 0.8041 | 0.0773 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3140 |
| predicted_ER | 0.2400 |
| predicted_ERA | 1.9520 |
| predicted_H | 0.6500 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0140 |
| predicted_WHIP | 0.8697 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3140 | 0.1672 | model_form_blend |
| predicted_ER | 2.0000 | 0.2400 | 1.0626 | model_form_blend |
| predicted_ERA | - | 1.9520 | 1.9520 | form_only |
| predicted_H | 2.0000 | 0.6500 | 1.2810 | model_form_blend |
| predicted_HR | 1.0000 | 0.0840 | 0.5121 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0140 | 1.0075 | model_form_blend |
| predicted_WHIP | - | 0.8697 | 0.8697 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.95 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260901_NYM@TB |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-09-01 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.231 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 44.8 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 78.995634651 |
| sl_avg_hyper_speed | 94.72486731 |
| Field | Value |
|---|---|
| Pitcher | Cal Quantrill |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0691 |
| ESPN Rank | 134 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0014 |
| Avg Velo | 89.8426 |
| Avg Spin | 1952.7641 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 3.0112 |
| Season WHIP | 1.1041 |
| Role Avg IP | 5.1210 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"opponent": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"edges": {
"quality_edge": -0.2455,
"offense_edge": -0.0903,
"opponent_offense_edge": 0.006,
"defense_strength": 0.0141,
"opponent_defense_weakness": -0.0819,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9904,
"run_prevention": 1.0118,
"strikeout": 0.9922
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "615698",
"profile": {
"available": true,
"pitcher_id": "615698",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 310.0,
"k_percent": 18.5,
"bb_percent": 6.0,
"woba": 0.285,
"xwoba": 0.309,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 35.7,
"avg_best_speed": 78.5319,
"avg_hyper_speed": 93.6952,
"whiff_percent": 19.8,
"swing_percent": 48.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1541,
"command_and_miss": -0.3336,
"regression_edge": -0.6857,
"xwoba_edge": 0.0571,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.3,
"whiff_edge": -0.7714,
"bb_edge": 0.775,
"pitch_design_score": -0.0014
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "615698",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 68,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8426,
"release_spin_rate": 1952.7641,
"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.0014,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0102,
"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.0691,
"sample_weight": 1.0,
"run_prevention_factor": 1.0059,
"strikeout_factor": 0.9497,
"walk_factor": 0.938,
"homer_factor": 0.9934,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "615698",
"espn_id": 39875,
"player_name": "Cal Quantrill",
"team": "TEX",
"role": "pitcher",
"espn_rank": 134,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 134,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 11.0,
"gs_rank": 160,
"qs_value": 5.0,
"qs_rank": 108,
"era_value": 3.0111,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 5.0,
"l_rank": 130,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 89.2,
"ip_rank": 138,
"h_value": 77.0,
"h_rank": 151,
"er_value": 30.0,
"er_rank": 182,
"hr_value": 11.0,
"hr_rank": 140,
"bb_value": 22.0,
"bb_rank": 244,
"k_value": 68.0,
"k_rank": 175,
"k_per_9_value": 6.8252788,
"k_per_9_rank": 34,
"whip_value": 1.104,
"whip_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0059,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 1.0059,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.938,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9934,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9497,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 49.1,
"ER": 15,
"H": 42,
"BB": 10,
"SO": 41,
"HR": 6,
"ERA": 2.736486486486487,
"WHIP": 1.0540540540540542,
"K9": 7.479729729729731,
"HR9": 1.0945945945945947,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "615698",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 68,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 68,
"pitch_usage": 0.0,
"release_speed": 89.84263114012379,
"release_spin_rate": 1952.7640647104026,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8426,
"release_spin_rate": 1952.7641,
"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.0014,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0102,
"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": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "615698",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 4.0,
"R": 4.0,
"H": 18.0,
"BB": 3.0,
"SO": 25.0,
"HR": 2.0,
"BF": 95.0,
"Pitches": 370.0
},
"per_game": {
"IP": 5.0,
"ER": 0.8,
"R": 0.8,
"H": 3.6,
"BB": 0.6,
"SO": 5.0,
"HR": 0.4,
"BF": 19.0,
"Pitches": 74.0
},
"rates": {
"ERA": 1.44,
"WHIP": 0.84,
"ER_per_IP": 0.16,
"H_per_IP": 0.72,
"BB_per_IP": 0.12,
"SO_per_IP": 1.0,
"HR_per_IP": 0.08
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.1,
"ER": 15.0,
"R": 17.0,
"H": 42.0,
"BB": 10.0,
"SO": 41.0,
"HR": 6.0,
"BF": 198.0,
"Pitches": 746.0
},
"per_game": {
"IP": 5.0,
"ER": 1.5,
"R": 1.7,
"H": 4.2,
"BB": 1.0,
"SO": 4.1,
"HR": 0.6,
"BF": 19.8,
"Pitches": 74.6
},
"rates": {
"ERA": 2.7365,
"WHIP": 1.0541,
"ER_per_IP": 0.30405,
"H_per_IP": 0.85135,
"BB_per_IP": 0.2027,
"SO_per_IP": 0.83108,
"HR_per_IP": 0.12162
}
},
"season": {
"games": 28,
"totals": {
"IP": 89.2,
"ER": 30.0,
"R": 36.0,
"H": 77.0,
"BB": 22.0,
"SO": 68.0,
"HR": 11.0,
"BF": 368.0,
"Pitches": 1399.0
},
"per_game": {
"IP": 3.1,
"ER": 1.0714,
"R": 1.2857,
"H": 2.75,
"BB": 0.7857,
"SO": 2.4286,
"HR": 0.3929,
"BF": 13.1429,
"Pitches": 49.9643
},
"rates": {
"ERA": 3.0112,
"WHIP": 1.1041,
"ER_per_IP": 0.33457,
"H_per_IP": 0.85874,
"BB_per_IP": 0.24535,
"SO_per_IP": 0.75836,
"HR_per_IP": 0.12268
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.366,
"predicted_H": 3.955,
"predicted_BB": 0.982,
"predicted_SO": 4.334,
"predicted_HR": 0.529,
"predicted_ERA": 2.552,
"predicted_WHIP": 1.0247
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 4.2,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.366,
"final": 2.0425,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.955,
"final": 3.5596,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.982,
"final": 0.9895,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.334,
"final": 3.3677,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.529,
"final": 0.724,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.552,
"final": 2.552,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0247,
"final": 1.0247,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Latz |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7040 |
| ESPN Rank | 43 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0158 |
| Avg Velo | 90.1508 |
| Avg Spin | 2348.8905 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.1868 |
| Season WHIP | 0.6758 |
| Role Avg IP | 1.2060 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"opponent": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"edges": {
"quality_edge": -0.2455,
"offense_edge": -0.0903,
"opponent_offense_edge": 0.006,
"defense_strength": 0.0141,
"opponent_defense_weakness": -0.0819,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9904,
"run_prevention": 1.0118,
"strikeout": 0.9922
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656641",
"profile": {
"available": true,
"pitcher_id": "656641",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 196.0,
"k_percent": 30.4,
"bb_percent": 8.0,
"woba": 0.19,
"xwoba": 0.235,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 38.4,
"avg_best_speed": 78.5557,
"avg_hyper_speed": 93.5828,
"whiff_percent": 30.6,
"swing_percent": 52.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.4263,
"command_and_miss": 0.8714,
"regression_edge": -1.2857,
"xwoba_edge": 2.1714,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.0857,
"whiff_edge": 0.7714,
"bb_edge": 0.275,
"pitch_design_score": 0.0158
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 36,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 36,
"pitch_usage": 0.0,
"release_speed": 90.1507968036165,
"release_spin_rate": 2348.8904779933773,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 36,
"pitch_usage": 0.0,
"release_speed": 90.1507968036165,
"release_spin_rate": 2348.8904779933773,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1508,
"release_spin_rate": 2348.8905,
"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.0158,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1131,
"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.704,
"sample_weight": 0.784,
"run_prevention_factor": 0.9402,
"strikeout_factor": 1.0623,
"walk_factor": 0.9828,
"homer_factor": 0.9307,
"woba_minus_xwoba": -0.045,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656641",
"espn_id": 3210625,
"player_name": "Jacob Latz",
"team": "TEX",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 43,
"gp_value": 49.0,
"gp_rank": 102,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.6318,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 28.0,
"sv_rank": 10,
"hld_value": 2.0,
"hld_rank": 225,
"ip_value": 60.2,
"ip_rank": 213,
"h_value": 27.0,
"h_rank": 429,
"er_value": 11.0,
"er_rank": 489,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 68.0,
"k_rank": 175,
"k_per_9_value": 10.087912,
"k_per_9_rank": 22,
"whip_value": 0.7417,
"whip_rank": null,
"war_value": 2.76,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9531,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9531,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9865,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9457,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0488,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 1,
"H": 5,
"BB": 7,
"SO": 17,
"HR": 0,
"ERA": 0.7714285714285715,
"WHIP": 1.0285714285714287,
"K9": 13.114285714285716,
"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-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 36,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 36,
"pitch_usage": 0.0,
"release_speed": 90.1507968036165,
"release_spin_rate": 2348.8904779933773,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 36,
"pitch_usage": 0.0,
"release_speed": 90.1507968036165,
"release_spin_rate": 2348.8904779933773,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1508,
"release_spin_rate": 2348.8905,
"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.0158,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1131,
"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.194,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7092,
"prior_weight": 0.2908
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656641",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.6,
"SO": 2.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.21429,
"BB_per_IP": 0.64286,
"SO_per_IP": 2.14286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 7.0,
"SO": 17.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 206.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.2,
"H": 0.5,
"BB": 0.7,
"SO": 1.7,
"HR": 0.0,
"BF": 4.5,
"Pitches": 20.6
},
"rates": {
"ERA": 0.7714,
"WHIP": 1.0286,
"ER_per_IP": 0.08571,
"H_per_IP": 0.42857,
"BB_per_IP": 0.6,
"SO_per_IP": 1.45714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 48,
"totals": {
"IP": 60.2,
"ER": 8.0,
"R": 9.0,
"H": 24.0,
"BB": 17.0,
"SO": 68.0,
"HR": 3.0,
"BF": 220.0,
"Pitches": 939.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1667,
"R": 0.1875,
"H": 0.5,
"BB": 0.3542,
"SO": 1.4167,
"HR": 0.0625,
"BF": 4.5833,
"Pitches": 19.5625
},
"rates": {
"ERA": 1.1868,
"WHIP": 0.6758,
"ER_per_IP": 0.13187,
"H_per_IP": 0.3956,
"BB_per_IP": 0.28022,
"SO_per_IP": 1.12088,
"HR_per_IP": 0.04945
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.209,
"predicted_H": 0.581,
"predicted_BB": 0.567,
"predicted_SO": 1.67,
"predicted_HR": 0.056,
"predicted_ERA": 1.6621,
"predicted_WHIP": 1.0154
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4729,
"form_weight": 0.5271,
"form_reliability": 0.7092,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.194,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7092,
"prior_weight": 0.2908
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.209,
"final": 0.583,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.581,
"final": 1.7249,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.567,
"final": 0.2989,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.67,
"final": 1.3532,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.056,
"final": 0.0295,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6621,
"final": 1.6621,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0154,
"final": 1.0154,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jakob Junis |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0098 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1860 |
| Avg Velo | 86.5467 |
| Avg Spin | 2094.1911 |
| 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.7194 |
| Season WHIP | 1.1223 |
| Role Avg IP | 1.0400 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"opponent": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"edges": {
"quality_edge": -0.2455,
"offense_edge": -0.0903,
"opponent_offense_edge": 0.006,
"defense_strength": 0.0141,
"opponent_defense_weakness": -0.0819,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9904,
"run_prevention": 1.0118,
"strikeout": 0.9922
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596001",
"profile": {
"available": true,
"pitcher_id": "596001",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 169.0,
"k_percent": 18.3,
"bb_percent": 6.3,
"woba": 0.267,
"xwoba": 0.308,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 34.8,
"avg_best_speed": 76.9319,
"avg_hyper_speed": 93.1179,
"whiff_percent": 19.5,
"swing_percent": 47.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.3846,
"command_and_miss": -0.3764,
"regression_edge": -1.1714,
"xwoba_edge": 0.0857,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.4286,
"whiff_edge": -0.8143,
"bb_edge": 0.7,
"pitch_design_score": -0.186
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 86.54669637918342,
"release_spin_rate": 2094.1910856087416,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 86.54669637918342,
"release_spin_rate": 2094.1910856087416,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5467,
"release_spin_rate": 2094.1911,
"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.186,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3286,
"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.0098,
"sample_weight": 0.676,
"run_prevention_factor": 1.0008,
"strikeout_factor": 0.9641,
"walk_factor": 0.9621,
"homer_factor": 0.941,
"woba_minus_xwoba": -0.041,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596001",
"espn_id": 36056,
"player_name": "Jakob Junis",
"team": "TEX",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 153,
"gp_value": 43.0,
"gp_rank": 141,
"gs_value": 1.0,
"gs_rank": 294,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.7194,
"era_rank": null,
"w_value": 1.0,
"w_rank": 402,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 5.0,
"sv_rank": 43,
"hld_value": 17.0,
"hld_rank": 23,
"ip_value": 46.1,
"ip_rank": 308,
"h_value": 40.0,
"h_rank": 310,
"er_value": 14.0,
"er_rank": 429,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 12.0,
"bb_rank": 433,
"k_value": 35.0,
"k_rank": 372,
"k_per_9_value": 6.798561,
"k_per_9_rank": 32,
"whip_value": 1.1223,
"whip_rank": null,
"war_value": 1.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0005,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0005,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9744,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9601,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9757,
"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": 2,
"H": 6,
"BB": 6,
"SO": 6,
"HR": 1,
"ERA": 1.9285714285714288,
"WHIP": 1.2857142857142858,
"K9": 5.7857142857142865,
"HR9": 0.9642857142857144,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 86.54669637918342,
"release_spin_rate": 2094.1910856087416,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 86.54669637918342,
"release_spin_rate": 2094.1910856087416,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5467,
"release_spin_rate": 2094.1911,
"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.186,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3286,
"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.313,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6507,
"prior_weight": 0.3493
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "596001",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 5.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 1.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.6154,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 1.15385,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 6.0,
"SO": 6.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.6,
"SO": 0.6,
"HR": 0.1,
"BF": 3.9,
"Pitches": 13.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 43,
"totals": {
"IP": 46.1,
"ER": 14.0,
"R": 14.0,
"H": 40.0,
"BB": 12.0,
"SO": 35.0,
"HR": 3.0,
"BF": 191.0,
"Pitches": 686.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3256,
"R": 0.3256,
"H": 0.9302,
"BB": 0.2791,
"SO": 0.814,
"HR": 0.0698,
"BF": 4.4419,
"Pitches": 15.9535
},
"rates": {
"ERA": 2.7194,
"WHIP": 1.1223,
"ER_per_IP": 0.30216,
"H_per_IP": 0.86331,
"BB_per_IP": 0.25899,
"SO_per_IP": 0.7554,
"HR_per_IP": 0.06475
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.262,
"predicted_H": 0.734,
"predicted_BB": 0.647,
"predicted_SO": 0.843,
"predicted_HR": 0.084,
"predicted_ERA": 2.3574,
"predicted_WHIP": 1.3812
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4976,
"form_weight": 0.5024,
"form_reliability": 0.6507,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.313,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6507,
"prior_weight": 0.3493
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.262,
"final": 0.1316,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.734,
"final": 0.3688,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.647,
"final": 0.3251,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.843,
"final": 0.4235,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.084,
"final": 0.0422,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3574,
"final": 2.3574,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3812,
"final": 1.3812,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Chase Silseth |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0506 |
| ESPN Rank | 144 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.9236 |
| Season WHIP | 1.4331 |
| Role Avg IP | 0.8440 |
| Recent Avg IP | 0.7330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 572.0,
"runs_allowed": 620.0,
"run_differential": -48.0,
"run_differential_per_game": -0.3429,
"avg_runs_scored": 4.0857,
"avg_runs_allowed": 4.4286,
"offense_index": 0.9097,
"defense_index": 1.0141,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 5.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.048
},
"opponent": {
"team": "TB",
"games": 139,
"wins": 83,
"losses": 56,
"win_pct": 0.5971,
"runs_scored": 628.0,
"runs_allowed": 577.0,
"run_differential": 51.0,
"run_differential_per_game": 0.3669,
"avg_runs_scored": 4.518,
"avg_runs_allowed": 4.1511,
"offense_index": 1.006,
"defense_index": 1.0819,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.5,
"run_differential": 9.0
},
"available": true,
"quality_score": 0.1975
},
"edges": {
"quality_edge": -0.2455,
"offense_edge": -0.0903,
"opponent_offense_edge": 0.006,
"defense_strength": 0.0141,
"opponent_defense_weakness": -0.0819,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9904,
"run_prevention": 1.0118,
"strikeout": 0.9922
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681217",
"profile": {
"available": true,
"pitcher_id": "681217",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 200.0,
"k_percent": 26.5,
"bb_percent": 13.9,
"woba": 0.305,
"xwoba": 0.315,
"sweet_spot_percent": 41.5,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 31.9,
"avg_best_speed": 75.0089,
"avg_hyper_speed": 93.2795,
"whiff_percent": 32.7,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.036,
"command_and_miss": 0.4307,
"regression_edge": -0.2857,
"xwoba_edge": -0.1143,
"barrel_edge": -0.5111,
"hard_hit_edge": 0.8429,
"whiff_edge": 1.0714,
"bb_edge": -1.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681217",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0506,
"sample_weight": 0.8,
"run_prevention_factor": 0.9957,
"strikeout_factor": 1.0553,
"walk_factor": 1.0768,
"homer_factor": 1.0085,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681217",
"espn_id": 4413990,
"player_name": "Chase Silseth",
"team": "TEX",
"role": "pitcher",
"espn_rank": 144,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 144,
"gp_value": 62.0,
"gp_rank": 19,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.9235,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 14.0,
"hld_rank": 40,
"ip_value": 52.1,
"ip_rank": 276,
"h_value": 43.0,
"h_rank": 283,
"er_value": 17.0,
"er_rank": 358,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 32.0,
"bb_rank": 132,
"k_value": 61.0,
"k_rank": 209,
"k_per_9_value": 10.490445,
"k_per_9_rank": 20,
"whip_value": 1.4331,
"whip_rank": null,
"war_value": 1.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9966,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0614,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0068,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0442,
"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": 3,
"H": 4,
"BB": 5,
"SO": 10,
"HR": 1,
"ERA": 3.375,
"WHIP": 1.125,
"K9": 11.25,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "681217",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681217",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 62,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 77.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 3.4,
"Pitches": 15.4
},
"rates": {
"ERA": 4.9091,
"WHIP": 1.9091,
"ER_per_IP": 0.54545,
"H_per_IP": 0.81818,
"BB_per_IP": 1.09091,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 5.0,
"SO": 10.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 132.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.4,
"BB": 0.5,
"SO": 1.0,
"HR": 0.1,
"BF": 3.2,
"Pitches": 13.2
},
"rates": {
"ERA": 3.375,
"WHIP": 1.125,
"ER_per_IP": 0.375,
"H_per_IP": 0.5,
"BB_per_IP": 0.625,
"SO_per_IP": 1.25,
"HR_per_IP": 0.125
}
},
"season": {
"games": 62,
"totals": {
"IP": 52.1,
"ER": 17.0,
"R": 19.0,
"H": 43.0,
"BB": 32.0,
"SO": 61.0,
"HR": 5.0,
"BF": 230.0,
"Pitches": 938.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2742,
"R": 0.3065,
"H": 0.6935,
"BB": 0.5161,
"SO": 0.9839,
"HR": 0.0806,
"BF": 3.7097,
"Pitches": 15.129
},
"rates": {
"ERA": 2.9236,
"WHIP": 1.4331,
"ER_per_IP": 0.32484,
"H_per_IP": 0.82166,
"BB_per_IP": 0.61146,
"SO_per_IP": 1.16561,
"HR_per_IP": 0.09554
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.327,
"predicted_H": 0.565,
"predicted_BB": 0.486,
"predicted_SO": 0.776,
"predicted_HR": 0.064,
"predicted_ERA": 4.1372,
"predicted_WHIP": 1.4764
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4861,
"form_weight": 0.5139,
"form_reliability": 0.6778,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.327,
"final": 0.6542,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.565,
"final": 1.2626,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.486,
"final": 0.2497,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.776,
"final": 0.8849,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0329,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1372,
"final": 4.1372,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4764,
"final": 1.4764,
"source": "form_only"
}
}
}{
"available": false,
"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.202 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.543 | 5.000 | 4.000 | Hitting_AB | 3.644 | 4.000 | 1.356 | 1.000 |
| predicted_AVG | 0.276 | 0.400 | 0.250 | Hitting_AVG | 0.275 | 0.750 | 0.125 | -0.350 |
| predicted_BB | 0.310 | 0.000 | 1.000 | Hitting_BB | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.977 | 2.000 | 1.000 | Hitting_H | 1.002 | 3.000 | 0.998 | -1.000 |
| predicted_HR | 0.124 | 0.000 | 0.000 | Hitting_HR | 0.112 | 1.000 | -0.112 | -1.000 |
| predicted_OBP | 0.334 | 0.400 | 0.400 | Hitting_OBP | 0.333 | 0.750 | 0.067 | -0.350 |
| predicted_R | 0.481 | 1.000 | 1.000 | Hitting_R | 0.495 | 1.000 | 0.505 | 0.000 |
| predicted_RBI | 0.581 | 2.000 | 1.000 | Hitting_RBI | 0.603 | 1.000 | 1.397 | 1.000 |
| predicted_SLG | 0.455 | 0.400 | 0.250 | Hitting_SLG | 0.444 | 1.500 | -0.044 | -1.100 |
| predicted_SO | 0.930 | 3.000 | 1.000 | Hitting_SO | 0.952 | 0.000 | 2.048 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.9300 -> 3.0000 (boost 2.0700, worse) |
| Biggest Deboost | predicted_BB: 0.3100 -> 0.0000 (deboost -0.3100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5810 -> 0.6534 (boost 0.0724, 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.4928 -> 0.4802 (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 | 6 | 3 | 3 | 2 | 4 | predicted_AB: 3.5833 -> 4.0000 (boost 0.4167, better) | predicted_BB: 0.3512 -> 0.0000 (deboost -0.3512, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.280 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4883 -> 0.0000 (deboost -0.4883, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4802 -> 0.5020 (boost 0.0218, better) | predicted_BB: 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 | 5 | 5 | 0 | 4 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5020 -> 0.4802 (deboost -0.0218, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"position": "CF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.202,
"predicted_3B": 0.031,
"predicted_AB": 3.543,
"predicted_AVG": 0.276,
"predicted_BB": 0.31,
"predicted_H": 0.977,
"predicted_HR": 0.124,
"predicted_OBP": 0.334,
"predicted_R": 0.481,
"predicted_RBI": 0.581,
"predicted_SLG": 0.455,
"predicted_SO": 0.93
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2011,
"predicted_3B": 0.0258,
"predicted_AB": 3.5833,
"predicted_AVG": 0.289,
"predicted_BB": 0.3551,
"predicted_H": 1.0355,
"predicted_HBP": 0.038,
"predicted_HR": 0.16,
"predicted_OBP": 0.3535,
"predicted_R": 0.5161,
"predicted_RBI": 0.6534,
"predicted_SLG": 0.4928,
"predicted_SO": 0.9083
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.2011,
"delta": -0.0009,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0258,
"delta": -0.0052,
"percent_delta": -0.1677,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.543,
"after": 3.5833,
"delta": 0.0403,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.289,
"delta": 0.013,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.3551,
"delta": 0.0451,
"percent_delta": 0.1455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.977,
"after": 1.0355,
"delta": 0.0585,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.16,
"delta": 0.036,
"percent_delta": 0.2903,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3535,
"delta": 0.0195,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.5161,
"delta": 0.0351,
"percent_delta": 0.073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.581,
"after": 0.6534,
"delta": 0.0724,
"percent_delta": 0.1246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4928,
"delta": 0.0378,
"percent_delta": 0.0831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.93,
"after": 0.9083,
"delta": -0.0217,
"percent_delta": -0.0233,
"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.581,
"after": 0.6534,
"delta": 0.0724,
"percent_delta": 0.1246,
"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": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2011,
"predicted_3B": 0.0258,
"predicted_AB": 3.5833,
"predicted_AVG": 0.2799,
"predicted_BB": 0.3512,
"predicted_H": 1.003,
"predicted_HBP": 0.038,
"predicted_HR": 0.155,
"predicted_OBP": 0.3442,
"predicted_R": 0.4883,
"predicted_RBI": 0.6182,
"predicted_SLG": 0.4802,
"predicted_SO": 0.9183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2011,
"after": 0.2011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0258,
"after": 0.0258,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5833,
"after": 3.5833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2799,
"delta": -0.0091,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3551,
"after": 0.3512,
"delta": -0.0039,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0355,
"after": 1.003,
"delta": -0.0325,
"percent_delta": -0.0314,
"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.16,
"after": 0.155,
"delta": -0.005,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3535,
"after": 0.3442,
"delta": -0.0093,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5161,
"after": 0.4883,
"delta": -0.0278,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6534,
"after": 0.6182,
"delta": -0.0352,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4928,
"after": 0.4802,
"delta": -0.0126,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9083,
"after": 0.9183,
"delta": 0.01,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4928,
"after": 0.4802,
"delta": -0.0126,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.280 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2011,
"after": 0.0,
"delta": -0.2011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0258,
"after": 0.0,
"delta": -0.0258,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5833,
"after": 4.0,
"delta": 0.4167,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.003,
"after": 1.0,
"delta": -0.003,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6182,
"after": 1.0,
"delta": 0.3818,
"percent_delta": 0.6176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9183,
"after": 1.0,
"delta": 0.0817,
"percent_delta": 0.089,
"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_AB",
"before": 3.5833,
"after": 4.0,
"delta": 0.4167,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4883,
"after": 0.0,
"delta": -0.4883,
"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.4883,
"after": 0.0,
"delta": -0.4883,
"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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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.275,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.349,
"predicted_R": 0.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.2799,
"after": 0.275,
"delta": -0.0049,
"percent_delta": -0.0175,
"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.3442,
"after": 0.349,
"delta": 0.0048,
"percent_delta": 0.0139,
"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_SLG",
"before": 0.4802,
"after": 0.502,
"delta": 0.0218,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4802,
"after": 0.502,
"delta": 0.0218,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2799,
"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.3442,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4802,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2799,
"delta": 0.0049,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.349,
"after": 0.3442,
"delta": -0.0048,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.502,
"after": 0.4802,
"delta": -0.0218,
"percent_delta": -0.0434,
"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_SLG",
"before": 0.502,
"after": 0.4802,
"delta": -0.0218,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.543,
"after": 5.0,
"delta": 1.457,
"percent_delta": 0.4112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2799,
"delta": 0.0039,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.977,
"after": 2.0,
"delta": 1.023,
"percent_delta": 1.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3442,
"delta": 0.0102,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 1.0,
"delta": 0.519,
"percent_delta": 1.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.581,
"after": 2.0,
"delta": 1.419,
"percent_delta": 2.4423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4802,
"delta": 0.0252,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.93,
"after": 3.0,
"delta": 2.07,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.93,
"after": 3.0,
"delta": 2.07,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"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.202 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.543 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.977 | - |
| predicted_HR | 0.124 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.581 | - |
| predicted_SLG | 0.455 | - |
| predicted_SO | 0.930 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 3.583 | 0.040 |
| predicted_AVG | 0.289 | 0.013 |
| predicted_BB | 0.355 | 0.045 |
| predicted_H | 1.036 | 0.059 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.160 | 0.036 |
| predicted_OBP | 0.353 | 0.019 |
| predicted_R | 0.516 | 0.035 |
| predicted_RBI | 0.653 | 0.072 |
| predicted_SLG | 0.493 | 0.038 |
| predicted_SO | 0.908 | -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.201 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.583 | 0.000 |
| predicted_AVG | 0.280 | -0.009 |
| predicted_BB | 0.351 | -0.004 |
| predicted_H | 1.003 | -0.033 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.155 | -0.005 |
| predicted_OBP | 0.344 | -0.009 |
| predicted_R | 0.488 | -0.028 |
| predicted_RBI | 0.618 | -0.035 |
| predicted_SLG | 0.480 | -0.013 |
| predicted_SO | 0.918 | 0.010 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.280 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.201 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 4.000 | 0.417 |
| predicted_AVG | 0.275 | -0.005 |
| predicted_BB | 0.000 | -0.351 |
| predicted_H | 1.000 | -0.003 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.349 | 0.005 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.382 |
| predicted_SLG | 0.502 | 0.022 |
| predicted_SO | 1.000 | 0.082 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.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 | - | 19.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 3.000 | 3.000 | 0.3684 | 0.4545 | 0.7368 | 0.3684 | 0.1053 | 0.2632 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 37.000 | 13.000 | 2.000 | 0.000 | 3.000 | 11.000 | 6.000 | 6.000 | 10.000 | 0.3514 | 0.4545 | 0.6486 | 0.3513 | 0.0811 | 0.2973 | 0.1622 | 0.2703 |
| season | 0.60 | 129 | - | 457.000 | 126.000 | 26.000 | 4.000 | 16.000 | 75.000 | 62.000 | 40.000 | 120.000 | 0.2757 | 0.3360 | 0.4551 | 0.2757 | 0.0350 | 0.1641 | 0.0875 | 0.2626 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.6360 |
| predicted_AVG | 0.3059 |
| predicted_BB | 0.4140 |
| predicted_H | 1.1120 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.2070 |
| predicted_OBP | 0.3790 |
| predicted_R | 0.5620 |
| predicted_RBI | 0.7480 |
| predicted_SLG | 0.5421 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.2000 | 0.2011 | model_form_blend |
| predicted_3B | 0.0310 | 0.0190 | 0.0258 | model_form_blend |
| predicted_AB | 3.5430 | 3.6360 | 3.5833 | model_form_blend |
| predicted_AVG | 0.2760 | 0.3059 | 0.2890 | model_form_blend |
| predicted_BB | 0.3100 | 0.4140 | 0.3551 | model_form_blend |
| predicted_H | 0.9770 | 1.1120 | 1.0355 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1240 | 0.2070 | 0.1600 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3790 | 0.3535 | model_form_blend |
| predicted_R | 0.4810 | 0.5620 | 0.5161 | model_form_blend |
| predicted_RBI | 0.5810 | 0.7480 | 0.6534 | model_form_blend |
| predicted_SLG | 0.4550 | 0.5421 | 0.4928 | model_form_blend |
| predicted_SO | 0.9300 | 0.8800 | 0.9083 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| 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 | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-RF |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.344 |
| sl_xwoba | 0.304 |
| sl_xba | 0.244 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 51.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.177 | 0.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.950 | 4.000 | 4.000 | Hitting_AB | 3.720 | 4.000 | 0.280 | 0.000 |
| predicted_AVG | 0.233 | 0.250 | 0.250 | Hitting_AVG | 0.214 | 0.000 | 0.036 | 0.250 |
| predicted_BB | 0.532 | 0.000 | 1.000 | Hitting_BB | 0.557 | 0.000 | -0.557 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 0.797 | 0.000 | 0.203 | 1.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | 0.818 | 1.000 |
| predicted_OBP | 0.343 | 0.250 | 0.400 | Hitting_OBP | 0.320 | 0.000 | -0.070 | 0.250 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.588 | 0.000 | 0.412 | 1.000 |
| predicted_RBI | 0.470 | 2.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | 1.544 | 2.000 |
| predicted_SLG | 0.411 | 1.000 | 0.250 | Hitting_SLG | 0.402 | 0.000 | 0.598 | 1.000 |
| predicted_SO | 1.025 | 1.000 | 1.000 | Hitting_SO | 1.057 | 0.000 | -0.057 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.4700 -> 2.0000 (boost 1.5300, better) |
| Biggest Deboost | predicted_BB: 0.5320 -> 0.0000 (deboost -0.5320, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 2 | 2 | predicted_R: 0.5950 -> 0.6875 (boost 0.0925, better) | predicted_AB: 3.9500 -> 3.7991 (deboost -0.1509, worse) | Final model input calibrated with local 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.4025 -> 0.3720 (deboost -0.0305, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.5721 -> 1.0000 (boost 0.4279, better) | predicted_RBI: 0.4120 -> 0.0000 (deboost -0.4120, worse) | AB rounded to 4 (raw=3.95), rates preserved: AVG=0.218 HR/AB=0.029 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6504 -> 1.0000 (boost 0.3496, 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 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3720 -> 0.3640 (deboost -0.0080, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3640 -> 0.3720 (boost 0.0080, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608369",
"player_name": "Corey Seager",
"position": "SS",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.0,
"predicted_AB": 3.95,
"predicted_AVG": 0.233,
"predicted_BB": 0.532,
"predicted_H": 0.92,
"predicted_HR": 0.13,
"predicted_OBP": 0.343,
"predicted_R": 0.595,
"predicted_RBI": 0.47,
"predicted_SLG": 0.411,
"predicted_SO": 1.025
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2145,
"predicted_3B": 0.0004,
"predicted_AB": 3.7991,
"predicted_AVG": 0.2337,
"predicted_BB": 0.5785,
"predicted_H": 0.8876,
"predicted_HBP": 0.041,
"predicted_HR": 0.1164,
"predicted_OBP": 0.345,
"predicted_R": 0.6875,
"predicted_RBI": 0.4355,
"predicted_SLG": 0.4025,
"predicted_SO": 0.9478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.2145,
"delta": 0.0375,
"percent_delta": 0.2119,
"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.95,
"after": 3.7991,
"delta": -0.1509,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2337,
"delta": 0.0007,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5785,
"delta": 0.0465,
"percent_delta": 0.0874,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.8876,
"delta": -0.0324,
"percent_delta": -0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1164,
"delta": -0.0136,
"percent_delta": -0.1046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.345,
"delta": 0.002,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.6875,
"delta": 0.0925,
"percent_delta": 0.1555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4355,
"delta": -0.0345,
"percent_delta": -0.0734,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4025,
"delta": -0.0085,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.025,
"after": 0.9478,
"delta": -0.0772,
"percent_delta": -0.0753,
"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_R",
"before": 0.595,
"after": 0.6875,
"delta": 0.0925,
"percent_delta": 0.1555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.95,
"after": 3.7991,
"delta": -0.1509,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2145,
"predicted_3B": 0.0004,
"predicted_AB": 3.7991,
"predicted_AVG": 0.2263,
"predicted_BB": 0.5721,
"predicted_H": 0.8597,
"predicted_HBP": 0.041,
"predicted_HR": 0.1128,
"predicted_OBP": 0.3276,
"predicted_R": 0.6504,
"predicted_RBI": 0.412,
"predicted_SLG": 0.372,
"predicted_SO": 0.9582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2145,
"after": 0.2145,
"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.7991,
"after": 3.7991,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2337,
"after": 0.2263,
"delta": -0.0074,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5785,
"after": 0.5721,
"delta": -0.0064,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8876,
"after": 0.8597,
"delta": -0.0279,
"percent_delta": -0.0314,
"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.1164,
"after": 0.1128,
"delta": -0.0036,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3276,
"delta": -0.0174,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6875,
"after": 0.6504,
"delta": -0.0371,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4355,
"after": 0.412,
"delta": -0.0235,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4025,
"after": 0.372,
"delta": -0.0305,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9478,
"after": 0.9582,
"delta": 0.0104,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4025,
"after": 0.372,
"delta": -0.0305,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.95), rates preserved: AVG=0.218 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2145,
"after": 0.0,
"delta": -0.2145,
"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.7991,
"after": 4.0,
"delta": 0.2009,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5721,
"after": 1.0,
"delta": 0.4279,
"percent_delta": 0.7479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8597,
"after": 1.0,
"delta": 0.1403,
"percent_delta": 0.1632,
"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.1128,
"after": 0.0,
"delta": -0.1128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9582,
"after": 1.0,
"delta": 0.0418,
"percent_delta": 0.0436,
"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.5721,
"after": 1.0,
"delta": 0.4279,
"percent_delta": 0.7479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6504,
"after": 1.0,
"delta": 0.3496,
"percent_delta": 0.5375,
"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.6504,
"after": 1.0,
"delta": 0.3496,
"percent_delta": 0.5375,
"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.223,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.32,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2263,
"after": 0.223,
"delta": -0.0033,
"percent_delta": -0.0146,
"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.3276,
"after": 0.32,
"delta": -0.0076,
"percent_delta": -0.0232,
"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.372,
"after": 0.364,
"delta": -0.008,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.372,
"after": 0.364,
"delta": -0.008,
"percent_delta": -0.0215,
"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": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2263,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3276,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.372,
"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.223,
"after": 0.2263,
"delta": 0.0033,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.32,
"after": 0.3276,
"delta": 0.0076,
"percent_delta": 0.0236,
"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.364,
"after": 0.372,
"delta": 0.008,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.372,
"delta": 0.008,
"percent_delta": 0.022,
"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.177,
"after": 0.0,
"delta": -0.177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 4.0,
"delta": 0.05,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2263,
"delta": -0.0067,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"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.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"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.343,
"after": 0.3276,
"delta": -0.0154,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 2.0,
"delta": 1.53,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.372,
"delta": -0.039,
"percent_delta": -0.0949,
"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": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.47,
"after": 2.0,
"delta": 1.53,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.000 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.532 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 1.025 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.038 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.799 | -0.151 |
| predicted_AVG | 0.234 | 0.001 |
| predicted_BB | 0.579 | 0.046 |
| predicted_H | 0.888 | -0.032 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.116 | -0.014 |
| predicted_OBP | 0.345 | 0.002 |
| predicted_R | 0.688 | 0.093 |
| predicted_RBI | 0.435 | -0.034 |
| predicted_SLG | 0.403 | -0.008 |
| predicted_SO | 0.948 | -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.214 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.799 | 0.000 |
| predicted_AVG | 0.226 | -0.007 |
| predicted_BB | 0.572 | -0.006 |
| predicted_H | 0.860 | -0.028 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.113 | -0.004 |
| predicted_OBP | 0.328 | -0.017 |
| predicted_R | 0.650 | -0.037 |
| predicted_RBI | 0.412 | -0.024 |
| predicted_SLG | 0.372 | -0.031 |
| predicted_SO | 0.958 | 0.010 |
AB rounded to 4 (raw=3.95), rates preserved: AVG=0.218 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.214 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.201 |
| predicted_AVG | 0.223 | -0.003 |
| predicted_BB | 1.000 | 0.428 |
| predicted_H | 1.000 | 0.140 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.320 | -0.008 |
| predicted_R | 1.000 | 0.350 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.364 | -0.008 |
| predicted_SO | 1.000 | 0.042 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | - | 16.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 7.000 | 5.000 | 2.000 | 0.2500 | 0.4091 | 0.3750 | 0.2500 | 0.0000 | 0.0625 | 0.3125 | 0.1250 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 4.000 | 0.000 | 0.000 | 4.000 | 9.000 | 7.000 | 8.000 | 0.2500 | 0.3778 | 0.3611 | 0.2500 | 0.0000 | 0.1111 | 0.1944 | 0.2222 |
| season | 0.60 | 79 | - | 292.000 | 65.000 | 14.000 | 0.000 | 13.000 | 35.000 | 47.000 | 42.000 | 81.000 | 0.2226 | 0.3235 | 0.4041 | 0.2226 | 0.0445 | 0.1199 | 0.1438 | 0.2774 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2650 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5960 |
| predicted_AVG | 0.2347 |
| predicted_BB | 0.6410 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3478 |
| predicted_R | 0.8120 |
| predicted_RBI | 0.3890 |
| predicted_SLG | 0.3911 |
| predicted_SO | 0.8440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.2650 | 0.2145 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9500 | 3.5960 | 3.7991 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2347 | 0.2337 | model_form_blend |
| predicted_BB | 0.5320 | 0.6410 | 0.5785 | model_form_blend |
| predicted_H | 0.9200 | 0.8440 | 0.8876 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.1300 | 0.0980 | 0.1164 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3478 | 0.3450 | model_form_blend |
| predicted_R | 0.5950 | 0.8120 | 0.6875 | model_form_blend |
| predicted_RBI | 0.4700 | 0.3890 | 0.4355 | model_form_blend |
| predicted_SLG | 0.4110 | 0.3911 | 0.4025 | model_form_blend |
| predicted_SO | 1.0250 | 0.8440 | 0.9478 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 2 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 608369 |
| playerID | 608369 |
| playerName | Corey Seager |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.318 |
| sl_xwoba | 0.35 |
| sl_xba | 0.248 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 49.1 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 33.5 |
| sl_swing_percent | 51.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.193 | 0.000 | 0.000 | Hitting_2B | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.090 | 4.000 | 4.000 | Hitting_AB | 3.991 | 3.000 | 0.009 | 1.000 |
| predicted_AVG | 0.213 | 0.250 | 0.250 | Hitting_AVG | 0.260 | 0.000 | -0.010 | 0.250 |
| predicted_BB | 0.420 | 0.000 | 1.000 | Hitting_BB | 0.366 | 1.000 | -0.366 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.036 | 0.000 | -0.036 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_OBP | 0.349 | 0.250 | 0.400 | Hitting_OBP | 0.328 | 0.250 | -0.078 | 0.000 |
| predicted_R | 0.591 | 0.000 | 1.000 | Hitting_R | 0.616 | 0.000 | -0.616 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SLG | 0.372 | 0.250 | 0.250 | Hitting_SLG | 0.463 | 0.000 | -0.213 | 0.250 |
| predicted_SO | 0.898 | 2.000 | 1.000 | Hitting_SO | 0.973 | 0.000 | 1.027 | 2.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.8980 -> 2.0000 (boost 1.1020, worse) |
| Biggest Deboost | predicted_R: 0.5910 -> 0.0000 (deboost -0.5910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_BB: 0.4200 -> 0.5070 (boost 0.0870, better) | predicted_AB: 4.0900 -> 3.9121 (deboost -0.1779, worse) | Final model input calibrated with local 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.3515 -> 0.3037 (deboost -0.0478, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.8299 -> 1.0000 (boost 0.1701, worse) | predicted_BB: 0.5014 -> 0.0000 (deboost -0.5014, worse) | AB rounded to 4 (raw=4.09), rates preserved: AVG=0.205 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5831 -> 1.0000 (boost 0.4169, 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 | 1 | 1 | 0 | 2 | 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.3550 -> 0.3713 (boost 0.0163, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694671",
"player_name": "Wyatt Langford",
"position": "LF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.023,
"predicted_AB": 4.09,
"predicted_AVG": 0.213,
"predicted_BB": 0.42,
"predicted_H": 0.87,
"predicted_HR": 0.14,
"predicted_OBP": 0.349,
"predicted_R": 0.591,
"predicted_RBI": 0.37,
"predicted_SLG": 0.372,
"predicted_SO": 0.898
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1943,
"predicted_3B": 0.0187,
"predicted_AB": 3.9121,
"predicted_AVG": 0.2221,
"predicted_BB": 0.507,
"predicted_H": 0.8661,
"predicted_HBP": 0.087,
"predicted_HR": 0.1314,
"predicted_OBP": 0.3515,
"predicted_R": 0.6163,
"predicted_RBI": 0.3366,
"predicted_SLG": 0.3809,
"predicted_SO": 0.8209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1943,
"delta": 0.0013,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0187,
"delta": -0.0043,
"percent_delta": -0.187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 3.9121,
"delta": -0.1779,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2221,
"delta": 0.0091,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.507,
"delta": 0.087,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8661,
"delta": -0.0039,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1314,
"delta": -0.0086,
"percent_delta": -0.0614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3515,
"delta": 0.0025,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.6163,
"delta": 0.0253,
"percent_delta": 0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3366,
"delta": -0.0334,
"percent_delta": -0.0903,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3809,
"delta": 0.0089,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 0.8209,
"delta": -0.0771,
"percent_delta": -0.0859,
"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.42,
"after": 0.507,
"delta": 0.087,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 3.9121,
"delta": -0.1779,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1943,
"predicted_3B": 0.0187,
"predicted_AB": 3.9121,
"predicted_AVG": 0.2144,
"predicted_BB": 0.5014,
"predicted_H": 0.8389,
"predicted_HBP": 0.087,
"predicted_HR": 0.1273,
"predicted_OBP": 0.3037,
"predicted_R": 0.5831,
"predicted_RBI": 0.3185,
"predicted_SLG": 0.3713,
"predicted_SO": 0.8299
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1943,
"after": 0.1943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0187,
"after": 0.0187,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9121,
"after": 3.9121,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2221,
"after": 0.2144,
"delta": -0.0077,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.5014,
"delta": -0.0056,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8661,
"after": 0.8389,
"delta": -0.0272,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1314,
"after": 0.1273,
"delta": -0.0041,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.3037,
"delta": -0.0478,
"percent_delta": -0.136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6163,
"after": 0.5831,
"delta": -0.0332,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3366,
"after": 0.3185,
"delta": -0.0181,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3809,
"after": 0.3713,
"delta": -0.0096,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8209,
"after": 0.8299,
"delta": 0.009,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.3037,
"delta": -0.0478,
"percent_delta": -0.136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.09), rates preserved: AVG=0.205 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.1943,
"after": 0.0,
"delta": -0.1943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0187,
"after": 0.0,
"delta": -0.0187,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9121,
"after": 4.0,
"delta": 0.0879,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5014,
"after": 0.0,
"delta": -0.5014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8389,
"after": 1.0,
"delta": 0.1611,
"percent_delta": 0.192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1273,
"after": 0.0,
"delta": -0.1273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3185,
"after": 0.0,
"delta": -0.3185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8299,
"after": 1.0,
"delta": 0.1701,
"percent_delta": 0.205,
"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.8299,
"after": 1.0,
"delta": 0.1701,
"percent_delta": 0.205,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5014,
"after": 0.0,
"delta": -0.5014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"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.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"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.205,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.355,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2144,
"after": 0.205,
"delta": -0.0094,
"percent_delta": -0.0438,
"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.3037,
"after": 0.297,
"delta": -0.0067,
"percent_delta": -0.0221,
"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.3713,
"after": 0.355,
"delta": -0.0163,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2144,
"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.3037,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3713,
"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.205,
"after": 0.2144,
"delta": 0.0094,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3037,
"delta": 0.0067,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3713,
"delta": 0.0163,
"percent_delta": 0.0458,
"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.355,
"after": 0.3713,
"delta": 0.0163,
"percent_delta": 0.0458,
"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.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 4.0,
"delta": -0.09,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2144,
"delta": 0.0014,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3037,
"delta": -0.0453,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3713,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.898,
"after": 2.0,
"delta": 1.102,
"percent_delta": 1.2272,
"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.898,
"after": 2.0,
"delta": 1.102,
"percent_delta": 1.2272,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.420 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.591 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.898 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | 0.001 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.912 | -0.178 |
| predicted_AVG | 0.222 | 0.009 |
| predicted_BB | 0.507 | 0.087 |
| predicted_H | 0.866 | -0.004 |
| predicted_HBP | 0.087 | - |
| predicted_HR | 0.131 | -0.009 |
| predicted_OBP | 0.351 | 0.003 |
| predicted_R | 0.616 | 0.025 |
| predicted_RBI | 0.337 | -0.033 |
| predicted_SLG | 0.381 | 0.009 |
| predicted_SO | 0.821 | -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.194 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.912 | 0.000 |
| predicted_AVG | 0.214 | -0.008 |
| predicted_BB | 0.501 | -0.006 |
| predicted_H | 0.839 | -0.027 |
| predicted_HBP | 0.087 | 0.000 |
| predicted_HR | 0.127 | -0.004 |
| predicted_OBP | 0.304 | -0.048 |
| predicted_R | 0.583 | -0.033 |
| predicted_RBI | 0.319 | -0.018 |
| predicted_SLG | 0.371 | -0.010 |
| predicted_SO | 0.830 | 0.009 |
AB rounded to 4 (raw=4.09), rates preserved: AVG=0.205 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 | 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.194 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.088 |
| predicted_AVG | 0.205 | -0.009 |
| predicted_BB | 0.000 | -0.501 |
| predicted_H | 1.000 | 0.161 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.297 | -0.007 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.319 |
| predicted_SLG | 0.355 | -0.016 |
| predicted_SO | 1.000 | 0.170 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 2.000 | 0.1176 | 0.3182 | 0.1765 | 0.1177 | 0.0000 | 0.0000 | 0.2353 | 0.1177 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 2.000 | 0.000 | 1.000 | 2.000 | 7.000 | 11.000 | 5.000 | 0.2941 | 0.4783 | 0.4412 | 0.2941 | 0.0294 | 0.0588 | 0.3235 | 0.1471 |
| season | 0.60 | 88 | - | 338.000 | 85.000 | 17.000 | 2.000 | 15.000 | 36.000 | 52.000 | 37.000 | 79.000 | 0.2515 | 0.3325 | 0.4467 | 0.2515 | 0.0444 | 0.1065 | 0.1095 | 0.2337 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.6750 |
| predicted_AVG | 0.2343 |
| predicted_BB | 0.6230 |
| predicted_H | 0.8610 |
| predicted_HBP | 0.0870 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.3549 |
| predicted_R | 0.6500 |
| predicted_RBI | 0.2920 |
| predicted_SLG | 0.3927 |
| predicted_SO | 0.7180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1960 | 0.1943 | model_form_blend |
| predicted_3B | 0.0230 | 0.0130 | 0.0187 | model_form_blend |
| predicted_AB | 4.0900 | 3.6750 | 3.9121 | model_form_blend |
| predicted_AVG | 0.2130 | 0.2343 | 0.2221 | model_form_blend |
| predicted_BB | 0.4200 | 0.6230 | 0.5070 | model_form_blend |
| predicted_H | 0.8700 | 0.8610 | 0.8661 | model_form_blend |
| predicted_HBP | - | 0.0870 | 0.0870 | form_only |
| predicted_HR | 0.1400 | 0.1200 | 0.1314 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3549 | 0.3515 | model_form_blend |
| predicted_R | 0.5910 | 0.6500 | 0.6163 | model_form_blend |
| predicted_RBI | 0.3700 | 0.2920 | 0.3366 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3927 | 0.3809 | model_form_blend |
| predicted_SO | 0.8980 | 0.7180 | 0.8209 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 333 |
| Season rows before report date | 333 |
| Report year | 2026 |
| Profile rows used | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 694671 |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.342 |
| sl_xwoba | 0.316 |
| sl_xba | 0.239 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 19.8 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 1.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 3.813 | 4.000 | 4.000 | Hitting_AB | 3.937 | 2.000 | 0.063 | 2.000 |
| predicted_AVG | 0.339 | 0.000 | 0.250 | Hitting_AVG | 0.274 | 0.500 | -0.274 | -0.500 |
| predicted_BB | 0.336 | 0.000 | 0.000 | Hitting_BB | 0.332 | 1.000 | -0.332 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 1.190 | 0.000 | 1.000 | Hitting_H | 1.077 | 1.000 | -1.077 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.395 | 0.000 | 0.250 | Hitting_OBP | 0.337 | 0.667 | -0.337 | -0.667 |
| predicted_R | 0.418 | 0.000 | 1.000 | Hitting_R | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_SLG | 0.489 | 0.000 | 0.500 | Hitting_SLG | 0.436 | 0.500 | -0.436 | -0.500 |
| predicted_SO | 0.903 | 1.000 | 1.000 | Hitting_SO | 0.944 | 1.000 | 0.056 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.8130 -> 4.0000 (boost 0.1870, better) |
| Biggest Deboost | predicted_H: 1.1900 -> 0.0000 (deboost -1.1900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 1.1900 -> 1.2422 (boost 0.0522, 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.3434 -> 0.3178 (deboost -0.0256, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.7204 -> 1.0000 (boost 0.2796, better) | predicted_BB: 0.3418 -> 0.0000 (deboost -0.3418, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.316 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4107 -> 0.0000 (deboost -0.4107, 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 | 2 | 0 | 2 | 0 | 2 | - | 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 | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.03,
"predicted_AB": 3.813,
"predicted_AVG": 0.339,
"predicted_BB": 0.336,
"predicted_H": 1.19,
"predicted_HR": 0.14,
"predicted_OBP": 0.395,
"predicted_R": 0.418,
"predicted_RBI": 0.72,
"predicted_SLG": 0.489,
"predicted_SO": 0.903
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2332,
"predicted_3B": 0.0243,
"predicted_AB": 3.786,
"predicted_AVG": 0.3434,
"predicted_BB": 0.3456,
"predicted_H": 1.2422,
"predicted_HBP": 0.05,
"predicted_HR": 0.133,
"predicted_OBP": 0.3979,
"predicted_R": 0.4341,
"predicted_RBI": 0.7614,
"predicted_SLG": 0.5027,
"predicted_SO": 0.8756
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2332,
"delta": 0.0022,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0243,
"delta": -0.0057,
"percent_delta": -0.19,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.813,
"after": 3.786,
"delta": -0.027,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.339,
"after": 0.3434,
"delta": 0.0044,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.336,
"after": 0.3456,
"delta": 0.0096,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.19,
"after": 1.2422,
"delta": 0.0522,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.133,
"delta": -0.007,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.395,
"after": 0.3979,
"delta": 0.0029,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 0.4341,
"delta": 0.0161,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7614,
"delta": 0.0414,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5027,
"delta": 0.0137,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.8756,
"delta": -0.0274,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.19,
"after": 1.2422,
"delta": 0.0522,
"percent_delta": 0.0439,
"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": 134
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2332,
"predicted_3B": 0.0243,
"predicted_AB": 3.786,
"predicted_AVG": 0.3178,
"predicted_BB": 0.3418,
"predicted_H": 1.2032,
"predicted_HBP": 0.05,
"predicted_HR": 0.1288,
"predicted_OBP": 0.3743,
"predicted_R": 0.4107,
"predicted_RBI": 0.7204,
"predicted_SLG": 0.4943,
"predicted_SO": 0.8852
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2332,
"after": 0.2332,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.786,
"after": 3.786,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3434,
"after": 0.3178,
"delta": -0.0256,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3456,
"after": 0.3418,
"delta": -0.0038,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2422,
"after": 1.2032,
"delta": -0.039,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.133,
"after": 0.1288,
"delta": -0.0042,
"percent_delta": -0.0316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3979,
"after": 0.3743,
"delta": -0.0236,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4341,
"after": 0.4107,
"delta": -0.0234,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7614,
"after": 0.7204,
"delta": -0.041,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5027,
"after": 0.4943,
"delta": -0.0084,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8756,
"after": 0.8852,
"delta": 0.0096,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3434,
"after": 0.3178,
"delta": -0.0256,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.316 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2332,
"after": 0.0,
"delta": -0.2332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0,
"delta": -0.0243,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.786,
"after": 4.0,
"delta": 0.214,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3418,
"after": 0.0,
"delta": -0.3418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2032,
"after": 1.0,
"delta": -0.2032,
"percent_delta": -0.1689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1288,
"after": 0.0,
"delta": -0.1288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8852,
"after": 1.0,
"delta": 0.1148,
"percent_delta": 0.1297,
"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.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3418,
"after": 0.0,
"delta": -0.3418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4107,
"after": 0.0,
"delta": -0.4107,
"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.4107,
"after": 0.0,
"delta": -0.4107,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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.316,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.377,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.491,
"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.3178,
"after": 0.316,
"delta": -0.0018,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3743,
"after": 0.377,
"delta": 0.0027,
"percent_delta": 0.0072,
"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_SLG",
"before": 0.4943,
"after": 0.491,
"delta": -0.0033,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_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": 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.3178,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3743,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4943,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.316,
"after": 0.3178,
"delta": 0.0018,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3743,
"delta": -0.0027,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4943,
"delta": 0.0033,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.813,
"after": 4.0,
"delta": 0.187,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.339,
"after": 0.3178,
"delta": -0.0212,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.336,
"after": 0.0,
"delta": -0.336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.19,
"after": 0.0,
"delta": -1.19,
"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.395,
"after": 0.3743,
"delta": -0.0207,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"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.489,
"after": 0.4943,
"delta": 0.0053,
"percent_delta": 0.0108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 1.0,
"delta": 0.097,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.813,
"after": 4.0,
"delta": 0.187,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.19,
"after": 0.0,
"delta": -1.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.813 | - |
| predicted_AVG | 0.339 | - |
| predicted_BB | 0.336 | - |
| predicted_H | 1.190 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.395 | - |
| predicted_R | 0.418 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.489 | - |
| predicted_SO | 0.903 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | 0.002 |
| predicted_3B | 0.024 | -0.006 |
| predicted_AB | 3.786 | -0.027 |
| predicted_AVG | 0.343 | 0.004 |
| predicted_BB | 0.346 | 0.010 |
| predicted_H | 1.242 | 0.052 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.133 | -0.007 |
| predicted_OBP | 0.398 | 0.003 |
| predicted_R | 0.434 | 0.016 |
| predicted_RBI | 0.761 | 0.041 |
| predicted_SLG | 0.503 | 0.014 |
| predicted_SO | 0.876 | -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.233 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.786 | 0.000 |
| predicted_AVG | 0.318 | -0.026 |
| predicted_BB | 0.342 | -0.004 |
| predicted_H | 1.203 | -0.039 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.129 | -0.004 |
| predicted_OBP | 0.374 | -0.024 |
| predicted_R | 0.411 | -0.023 |
| predicted_RBI | 0.720 | -0.041 |
| predicted_SLG | 0.494 | -0.008 |
| predicted_SO | 0.885 | 0.010 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.316 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.233 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.214 |
| predicted_AVG | 0.316 | -0.002 |
| predicted_BB | 0.000 | -0.342 |
| predicted_H | 1.000 | -0.203 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.377 | 0.003 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 1.000 | 0.280 |
| predicted_SLG | 0.491 | -0.003 |
| predicted_SO | 1.000 | 0.115 |
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 | -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 | 11.000 | 1.000 | 0.000 | 1.000 | 9.000 | 3.000 | 2.000 | 3.000 | 0.6111 | 0.6190 | 0.8333 | 0.6111 | 0.0556 | 0.5000 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 37.000 | 13.000 | 3.000 | 0.000 | 1.000 | 10.000 | 4.000 | 4.000 | 9.000 | 0.3514 | 0.4091 | 0.5135 | 0.3513 | 0.0270 | 0.2703 | 0.1081 | 0.2432 |
| season | 0.60 | 134 | - | 511.000 | 138.000 | 31.000 | 4.000 | 14.000 | 58.000 | 56.000 | 45.000 | 121.000 | 0.2701 | 0.3351 | 0.4286 | 0.2701 | 0.0274 | 0.1135 | 0.0881 | 0.2368 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.7510 |
| predicted_AVG | 0.3492 |
| predicted_BB | 0.3580 |
| predicted_H | 1.3100 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.4016 |
| predicted_R | 0.4550 |
| predicted_RBI | 0.8150 |
| predicted_SLG | 0.5205 |
| predicted_SO | 0.8400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2360 | 0.2332 | model_form_blend |
| predicted_3B | 0.0300 | 0.0170 | 0.0243 | model_form_blend |
| predicted_AB | 3.8130 | 3.7510 | 3.7860 | model_form_blend |
| predicted_AVG | 0.3390 | 0.3492 | 0.3434 | model_form_blend |
| predicted_BB | 0.3360 | 0.3580 | 0.3456 | model_form_blend |
| predicted_H | 1.1900 | 1.3100 | 1.2422 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.1400 | 0.1240 | 0.1330 | model_form_blend |
| predicted_OBP | 0.3950 | 0.4016 | 0.3979 | model_form_blend |
| predicted_R | 0.4180 | 0.4550 | 0.4341 | model_form_blend |
| predicted_RBI | 0.7200 | 0.8150 | 0.7614 | model_form_blend |
| predicted_SLG | 0.4890 | 0.5205 | 0.5027 | model_form_blend |
| predicted_SO | 0.9030 | 0.8400 | 0.8756 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 521 |
| Season rows before report date | 521 |
| Report year | 2026 |
| Profile rows used | 134 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.334 |
| sl_xwoba | 0.357 |
| sl_xba | 0.28 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 50.8 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.134 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.893 | 4.000 | 1.107 | 0.000 |
| predicted_AVG | 0.309 | 0.000 | 0.333 | Hitting_AVG | 0.273 | 0.250 | -0.273 | -0.250 |
| predicted_BB | 0.161 | 0.000 | 0.000 | Hitting_BB | 0.254 | 0.000 | -0.254 | 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.791 | 1.000 | -0.791 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 1.000 | Hitting_HR | 0.164 | 1.000 | -0.164 | -1.000 |
| predicted_OBP | 0.309 | 0.000 | 0.333 | Hitting_OBP | 0.336 | 0.250 | -0.336 | -0.250 |
| predicted_R | 0.296 | 0.000 | 1.000 | Hitting_R | 0.345 | 1.000 | -0.345 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.480 | 1.000 | -0.480 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.579 | 0.000 | 1.333 | Hitting_SLG | 0.516 | 1.000 | -0.516 | -1.000 |
| predicted_SO | 0.685 | 1.000 | 1.000 | Hitting_SO | 0.768 | 2.000 | 0.232 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, 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 | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.5000 -> 2.6014 (boost 0.1014, better) | predicted_AVG: 0.3090 -> 0.2900 (deboost -0.0190, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5699 -> 0.5826 (boost 0.0127, better) | predicted_AVG: 0.2900 -> 0.2574 (deboost -0.0326, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 2.6014 -> 3.0000 (boost 0.3986, better) | predicted_RBI: 0.3646 -> 0.0000 (deboost -0.3646, worse) | AB rounded to 3 (raw=2.60), rates preserved: AVG=0.257 HR/AB=0.089 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3093 -> 0.0000 (deboost -0.3093, 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 | 4 | 1 | 3 | 1 | 3 | predicted_OBP: 0.2988 -> 0.3040 (boost 0.0052, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3040 -> 0.2988 (deboost -0.0052, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679822",
"player_name": "Justin Foscue",
"position": "2B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.134,
"predicted_3B": 0.013,
"predicted_AB": 2.5,
"predicted_AVG": 0.309,
"predicted_BB": 0.161,
"predicted_H": 0.67,
"predicted_HR": 0.25,
"predicted_OBP": 0.309,
"predicted_R": 0.296,
"predicted_RBI": 0.38,
"predicted_SLG": 0.579,
"predicted_SO": 0.685
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1299,
"predicted_3B": 0.0114,
"predicted_AB": 2.6014,
"predicted_AVG": 0.29,
"predicted_BB": 0.1552,
"predicted_H": 0.6914,
"predicted_HBP": 0.033,
"predicted_HR": 0.2385,
"predicted_OBP": 0.3088,
"predicted_R": 0.3269,
"predicted_RBI": 0.3854,
"predicted_SLG": 0.5699,
"predicted_SO": 0.7122
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.1299,
"delta": -0.0041,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0114,
"delta": -0.0016,
"percent_delta": -0.1231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6014,
"delta": 0.1014,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.29,
"delta": -0.019,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 0.1552,
"delta": -0.0058,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6914,
"delta": 0.0214,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2385,
"delta": -0.0115,
"percent_delta": -0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3088,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.3269,
"delta": 0.0309,
"percent_delta": 0.1044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3854,
"delta": 0.0054,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.579,
"after": 0.5699,
"delta": -0.0091,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.685,
"after": 0.7122,
"delta": 0.0272,
"percent_delta": 0.0397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6014,
"delta": 0.1014,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.29,
"delta": -0.019,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1299,
"predicted_3B": 0.0114,
"predicted_AB": 2.6014,
"predicted_AVG": 0.2574,
"predicted_BB": 0.1535,
"predicted_H": 0.6697,
"predicted_HBP": 0.033,
"predicted_HR": 0.231,
"predicted_OBP": 0.2988,
"predicted_R": 0.3093,
"predicted_RBI": 0.3646,
"predicted_SLG": 0.5826,
"predicted_SO": 0.72
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1299,
"after": 0.1299,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0114,
"after": 0.0114,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6014,
"after": 2.6014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2574,
"delta": -0.0326,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1552,
"after": 0.1535,
"delta": -0.0017,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6914,
"after": 0.6697,
"delta": -0.0217,
"percent_delta": -0.0314,
"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.2385,
"after": 0.231,
"delta": -0.0075,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3088,
"after": 0.2988,
"delta": -0.01,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3269,
"after": 0.3093,
"delta": -0.0176,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3854,
"after": 0.3646,
"delta": -0.0208,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5699,
"after": 0.5826,
"delta": 0.0127,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7122,
"after": 0.72,
"delta": 0.0078,
"percent_delta": 0.011,
"direction": "no_change",
"projection_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.5699,
"after": 0.5826,
"delta": 0.0127,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2574,
"delta": -0.0326,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.60), rates preserved: AVG=0.257 HR/AB=0.089",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1299,
"after": 0.0,
"delta": -0.1299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0114,
"after": 0.0,
"delta": -0.0114,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6014,
"after": 3.0,
"delta": 0.3986,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1535,
"after": 0.0,
"delta": -0.1535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6697,
"after": 1.0,
"delta": 0.3303,
"percent_delta": 0.4932,
"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.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3646,
"after": 0.0,
"delta": -0.3646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6014,
"after": 3.0,
"delta": 0.3986,
"percent_delta": 0.1532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3646,
"after": 0.0,
"delta": -0.3646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3093,
"after": 0.0,
"delta": -0.3093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3093,
"after": 0.0,
"delta": -0.3093,
"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": 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": 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": 3.0,
"predicted_AVG": 0.257,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.583,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2574,
"after": 0.257,
"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_H",
"before": 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.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": 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.5826,
"after": 0.583,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.304,
"delta": 0.0052,
"percent_delta": 0.0174,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2574,
"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.5826,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2574,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.583,
"after": 0.5826,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2988,
"delta": -0.0052,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.2574,
"delta": -0.0516,
"percent_delta": -0.167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.2988,
"delta": -0.0102,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.0,
"delta": -0.296,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.579,
"after": 0.5826,
"delta": 0.0036,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.685,
"after": 1.0,
"delta": 0.315,
"percent_delta": 0.4599,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"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.134 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.309 | - |
| predicted_BB | 0.161 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.296 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.579 | - |
| predicted_SO | 0.685 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | -0.004 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.601 | 0.101 |
| predicted_AVG | 0.290 | -0.019 |
| predicted_BB | 0.155 | -0.006 |
| predicted_H | 0.691 | 0.021 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.238 | -0.012 |
| predicted_OBP | 0.309 | -0.000 |
| predicted_R | 0.327 | 0.031 |
| predicted_RBI | 0.385 | 0.005 |
| predicted_SLG | 0.570 | -0.009 |
| predicted_SO | 0.712 | 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.130 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.601 | 0.000 |
| predicted_AVG | 0.257 | -0.033 |
| predicted_BB | 0.153 | -0.002 |
| predicted_H | 0.670 | -0.022 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.231 | -0.007 |
| predicted_OBP | 0.299 | -0.010 |
| predicted_R | 0.309 | -0.018 |
| predicted_RBI | 0.365 | -0.021 |
| predicted_SLG | 0.583 | 0.013 |
| predicted_SO | 0.720 | 0.008 |
AB rounded to 3 (raw=2.60), rates preserved: AVG=0.257 HR/AB=0.089
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 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.130 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.399 |
| predicted_AVG | 0.257 | -0.000 |
| predicted_BB | 0.000 | -0.153 |
| predicted_H | 1.000 | 0.330 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.304 | 0.005 |
| predicted_R | 0.000 | -0.309 |
| predicted_RBI | 0.000 | -0.365 |
| predicted_SLG | 0.583 | 0.000 |
| predicted_SO | 1.000 | 0.280 |
Attached simulation box 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 | -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 | - | 12.000 | 4.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.3333 | 0.3333 | 0.8333 | 0.3333 | 0.1667 | 0.1667 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 2.000 | 0.000 | 3.000 | 4.000 | 5.000 | 2.000 | 8.000 | 0.2188 | 0.2857 | 0.5625 | 0.2188 | 0.0938 | 0.1250 | 0.0625 | 0.2500 |
| season | 0.60 | 76 | - | 186.000 | 48.000 | 10.000 | 1.000 | 11.000 | 27.000 | 22.000 | 12.000 | 51.000 | 0.2581 | 0.3085 | 0.5000 | 0.2581 | 0.0591 | 0.1452 | 0.0645 | 0.2742 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1240 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.7460 |
| predicted_AVG | 0.2630 |
| predicted_BB | 0.1470 |
| predicted_H | 0.7220 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.2220 |
| predicted_OBP | 0.3085 |
| predicted_R | 0.3710 |
| predicted_RBI | 0.3930 |
| predicted_SLG | 0.5568 |
| predicted_SO | 0.7510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.1240 | 0.1299 | model_form_blend |
| predicted_3B | 0.0130 | 0.0090 | 0.0114 | model_form_blend |
| predicted_AB | 2.5000 | 2.7460 | 2.6014 | model_form_blend |
| predicted_AVG | 0.3090 | 0.2630 | 0.2900 | model_form_blend |
| predicted_BB | 0.1610 | 0.1470 | 0.1552 | model_form_blend |
| predicted_H | 0.6700 | 0.7220 | 0.6914 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.2500 | 0.2220 | 0.2385 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3085 | 0.3088 | model_form_blend |
| predicted_R | 0.2960 | 0.3710 | 0.3269 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3930 | 0.3854 | model_form_blend |
| predicted_SLG | 0.5790 | 0.5568 | 0.5699 | model_form_blend |
| predicted_SO | 0.6850 | 0.7510 | 0.7122 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 177 |
| Season rows before report date | 177 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 679822 |
| playerID | 679822 |
| playerName | Justin Foscue |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.354 |
| sl_xwoba | 0.329 |
| sl_xba | 0.238 |
| sl_xslg | 0.452 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 44.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.159 | 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.660 | 3.000 | 4.000 | Hitting_AB | 3.744 | 4.000 | -0.744 | -1.000 |
| predicted_AVG | 0.219 | 0.333 | 0.250 | Hitting_AVG | 0.241 | 0.000 | 0.092 | 0.333 |
| predicted_BB | 0.303 | 1.000 | 0.000 | Hitting_BB | 0.315 | 0.000 | 0.685 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_H | 0.800 | 1.000 | 1.000 | Hitting_H | 0.902 | 0.000 | 0.098 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_OBP | 0.269 | 0.500 | 0.250 | Hitting_OBP | 0.303 | 0.000 | 0.197 | 0.500 |
| predicted_R | 0.417 | 1.000 | 0.000 | Hitting_R | 0.438 | 0.000 | 0.562 | 1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.626 | 0.000 | -0.626 | 0.000 |
| predicted_SLG | 0.401 | 0.333 | 0.250 | Hitting_SLG | 0.419 | 0.000 | -0.086 | 0.333 |
| predicted_SO | 1.068 | 0.000 | 1.000 | Hitting_SO | 1.106 | 2.000 | -1.106 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.3030 -> 1.0000 (boost 0.6970, better) |
| Biggest Deboost | predicted_SO: 1.0680 -> 0.0000 (deboost -1.0680, 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_OBP: 0.2690 -> 0.2740 (boost 0.0050, 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.4007 -> 0.3764 (deboost -0.0243, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.5088 -> 1.0000 (boost 0.4912, better) | predicted_BB: 0.2846 -> 0.0000 (deboost -0.2846, worse) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.215 HR/AB=0.038 |
| 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.3715 -> 0.0000 (deboost -0.3715, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3764 -> 0.4070 (boost 0.0306, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4070 -> 0.3764 (deboost -0.0306, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.0,
"predicted_AB": 3.66,
"predicted_AVG": 0.219,
"predicted_BB": 0.303,
"predicted_H": 0.8,
"predicted_HR": 0.14,
"predicted_OBP": 0.269,
"predicted_R": 0.417,
"predicted_RBI": 0.54,
"predicted_SLG": 0.401,
"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.1751,
"predicted_3B": 0.0004,
"predicted_AB": 3.6761,
"predicted_AVG": 0.2227,
"predicted_BB": 0.2878,
"predicted_H": 0.8178,
"predicted_HBP": 0.015,
"predicted_HR": 0.143,
"predicted_OBP": 0.274,
"predicted_R": 0.3927,
"predicted_RBI": 0.5378,
"predicted_SLG": 0.4007,
"predicted_SO": 1.0376
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1751,
"delta": 0.0161,
"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": 3.66,
"after": 3.6761,
"delta": 0.0161,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2227,
"delta": 0.0037,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.2878,
"delta": -0.0152,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8178,
"delta": 0.0178,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.143,
"delta": 0.003,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.274,
"delta": 0.005,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 0.3927,
"delta": -0.0243,
"percent_delta": -0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5378,
"delta": -0.0022,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4007,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.068,
"after": 1.0376,
"delta": -0.0304,
"percent_delta": -0.0285,
"direction": "no_change",
"projection_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.269,
"after": 0.274,
"delta": 0.005,
"percent_delta": 0.0186,
"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": 132
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1751,
"predicted_3B": 0.0004,
"predicted_AB": 3.6761,
"predicted_AVG": 0.2155,
"predicted_BB": 0.2846,
"predicted_H": 0.7921,
"predicted_HBP": 0.015,
"predicted_HR": 0.1385,
"predicted_OBP": 0.2719,
"predicted_R": 0.3715,
"predicted_RBI": 0.5088,
"predicted_SLG": 0.3764,
"predicted_SO": 1.049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.1751,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6761,
"after": 3.6761,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2227,
"after": 0.2155,
"delta": -0.0072,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2878,
"after": 0.2846,
"delta": -0.0032,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8178,
"after": 0.7921,
"delta": -0.0257,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.143,
"after": 0.1385,
"delta": -0.0045,
"percent_delta": -0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2719,
"delta": -0.0021,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3927,
"after": 0.3715,
"delta": -0.0212,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5378,
"after": 0.5088,
"delta": -0.029,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4007,
"after": 0.3764,
"delta": -0.0243,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0376,
"after": 1.049,
"delta": 0.0114,
"percent_delta": 0.011,
"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.4007,
"after": 0.3764,
"delta": -0.0243,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.215 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6761,
"after": 4.0,
"delta": 0.3239,
"percent_delta": 0.0881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2846,
"after": 0.0,
"delta": -0.2846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7921,
"after": 1.0,
"delta": 0.2079,
"percent_delta": 0.2625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1385,
"after": 0.0,
"delta": -0.1385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5088,
"after": 1.0,
"delta": 0.4912,
"percent_delta": 0.9654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.049,
"after": 1.0,
"delta": -0.049,
"percent_delta": -0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5088,
"after": 1.0,
"delta": 0.4912,
"percent_delta": 0.9654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2846,
"after": 0.0,
"delta": -0.2846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.3715,
"after": 0.0,
"delta": -0.3715,
"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.3715,
"after": 0.0,
"delta": -0.3715,
"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.212,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.407,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2155,
"after": 0.212,
"delta": -0.0035,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2719,
"after": 0.279,
"delta": 0.0071,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3764,
"after": 0.407,
"delta": 0.0306,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3764,
"after": 0.407,
"delta": 0.0306,
"percent_delta": 0.0813,
"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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 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": 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.2155,
"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.2719,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3764,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.2155,
"delta": 0.0035,
"percent_delta": 0.0164,
"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.279,
"after": 0.2719,
"delta": -0.0071,
"percent_delta": -0.0256,
"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.407,
"after": 0.3764,
"delta": -0.0306,
"percent_delta": -0.0752,
"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.407,
"after": 0.3764,
"delta": -0.0306,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "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.66,
"after": 3.0,
"delta": -0.66,
"percent_delta": -0.1803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2155,
"delta": -0.0035,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 1.0,
"delta": 0.697,
"percent_delta": 2.3003,
"direction": "boost",
"projection_effect": "better",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2719,
"delta": 0.0029,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.417,
"after": 1.0,
"delta": 0.583,
"percent_delta": 1.3981,
"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.401,
"after": 0.3764,
"delta": -0.0246,
"percent_delta": -0.0613,
"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": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.303,
"after": 1.0,
"delta": 0.697,
"percent_delta": 2.3003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.068,
"after": 0.0,
"delta": -1.068,
"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.660 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.417 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.401 | - |
| 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.175 | 0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.676 | 0.016 |
| predicted_AVG | 0.223 | 0.004 |
| predicted_BB | 0.288 | -0.015 |
| predicted_H | 0.818 | 0.018 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.143 | 0.003 |
| predicted_OBP | 0.274 | 0.005 |
| predicted_R | 0.393 | -0.024 |
| predicted_RBI | 0.538 | -0.002 |
| predicted_SLG | 0.401 | -0.000 |
| predicted_SO | 1.038 | -0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.676 | 0.000 |
| predicted_AVG | 0.215 | -0.007 |
| predicted_BB | 0.285 | -0.003 |
| predicted_H | 0.792 | -0.026 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.139 | -0.004 |
| predicted_OBP | 0.272 | -0.002 |
| predicted_R | 0.371 | -0.021 |
| predicted_RBI | 0.509 | -0.029 |
| predicted_SLG | 0.376 | -0.024 |
| predicted_SO | 1.049 | 0.011 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.215 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.175 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.324 |
| predicted_AVG | 0.212 | -0.004 |
| predicted_BB | 0.000 | -0.285 |
| predicted_H | 1.000 | 0.208 |
| predicted_HR | 0.000 | -0.139 |
| predicted_OBP | 0.279 | 0.007 |
| predicted_R | 0.000 | -0.371 |
| predicted_RBI | 1.000 | 0.491 |
| predicted_SLG | 0.407 | 0.031 |
| predicted_SO | 1.000 | -0.049 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.2000 | 0.2000 | 0.2500 | 0.2000 | 0.0000 | 0.1000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 3.000 | 0.000 | 2.000 | 5.000 | 3.000 | 4.000 | 10.000 | 0.2286 | 0.3077 | 0.4857 | 0.2286 | 0.0571 | 0.1429 | 0.1143 | 0.2857 |
| season | 0.60 | 132 | - | 482.000 | 113.000 | 21.000 | 0.000 | 23.000 | 78.000 | 55.000 | 40.000 | 141.000 | 0.2344 | 0.2960 | 0.4212 | 0.2344 | 0.0477 | 0.1618 | 0.0830 | 0.2925 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6970 |
| predicted_AVG | 0.2275 |
| predicted_BB | 0.2680 |
| predicted_H | 0.8410 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.2806 |
| predicted_R | 0.3610 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4003 |
| predicted_SO | 0.9980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1960 | 0.1751 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6600 | 3.6970 | 3.6761 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2275 | 0.2227 | model_form_blend |
| predicted_BB | 0.3030 | 0.2680 | 0.2878 | model_form_blend |
| predicted_H | 0.8000 | 0.8410 | 0.8178 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1400 | 0.1470 | 0.1430 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2806 | 0.2740 | model_form_blend |
| predicted_R | 0.4170 | 0.3610 | 0.3927 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5350 | 0.5378 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4003 | 0.4007 | model_form_blend |
| predicted_SO | 1.0680 | 0.9980 | 1.0376 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 489 |
| Season rows before report date | 489 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 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 | 1B |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.314 |
| sl_xwoba | 0.31 |
| sl_xba | 0.232 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 46.9 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.042 | 1.000 | 0.000 | Hitting_2B | 0.023 | 0.000 | 0.977 | 1.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.100 | 4.000 | 3.000 | Hitting_AB | 2.977 | 4.000 | 1.023 | 0.000 |
| predicted_AVG | 0.290 | 0.500 | 0.333 | Hitting_AVG | 0.320 | 0.250 | 0.180 | 0.250 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_H | 0.900 | 2.000 | 1.000 | Hitting_H | 0.953 | 1.000 | 1.047 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.335 | 0.500 | 0.333 | Hitting_OBP | 0.396 | 0.250 | 0.104 | 0.250 |
| predicted_R | 0.292 | 1.000 | 0.000 | Hitting_R | 0.256 | 0.000 | 0.744 | 1.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_SLG | 0.411 | 0.750 | 0.333 | Hitting_SLG | 0.367 | 0.250 | 0.383 | 0.500 |
| predicted_SO | 0.500 | 0.000 | 0.000 | Hitting_SO | 0.651 | 1.000 | -0.651 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.9000 -> 2.0000 (boost 1.1000, better) |
| Biggest Deboost | predicted_SO: 0.5000 -> 0.0000 (deboost -0.5000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.1000 -> 3.1945 (boost 0.0945, 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.4181 -> 0.3994 (deboost -0.0187, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_H: 0.9019 -> 1.0000 (boost 0.0981, better) | predicted_SO: 0.5270 -> 0.0000 (deboost -0.5270, better) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.282 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3151 -> 0.0000 (deboost -0.3151, 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.3318 -> 0.3370 (boost 0.0052, better) | - | 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.3370 -> 0.3318 (deboost -0.0052, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683227",
"player_name": "Cody Freeman",
"position": "3B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.042,
"predicted_3B": 0.042,
"predicted_AB": 3.1,
"predicted_AVG": 0.29,
"predicted_BB": 0.25,
"predicted_H": 0.9,
"predicted_HR": 0.07,
"predicted_OBP": 0.335,
"predicted_R": 0.292,
"predicted_RBI": 0.42,
"predicted_SLG": 0.411,
"predicted_SO": 0.5
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0651,
"predicted_3B": 0.0405,
"predicted_AB": 3.1945,
"predicted_AVG": 0.2912,
"predicted_BB": 0.2394,
"predicted_H": 0.9311,
"predicted_HBP": 0.068,
"predicted_HR": 0.0784,
"predicted_OBP": 0.3405,
"predicted_R": 0.333,
"predicted_RBI": 0.4185,
"predicted_SLG": 0.4181,
"predicted_SO": 0.5213
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 0.0651,
"delta": 0.0231,
"percent_delta": 0.55,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0405,
"delta": -0.0015,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1,
"after": 3.1945,
"delta": 0.0945,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2912,
"delta": 0.0012,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2394,
"delta": -0.0106,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9311,
"delta": 0.0311,
"percent_delta": 0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0784,
"delta": 0.0084,
"percent_delta": 0.12,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3405,
"delta": 0.0055,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.333,
"delta": 0.041,
"percent_delta": 0.1404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4185,
"delta": -0.0015,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4181,
"delta": 0.0071,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5213,
"delta": 0.0213,
"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_AB",
"before": 3.1,
"after": 3.1945,
"delta": 0.0945,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 24
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0651,
"predicted_3B": 0.0405,
"predicted_AB": 3.1945,
"predicted_AVG": 0.2823,
"predicted_BB": 0.2368,
"predicted_H": 0.9019,
"predicted_HBP": 0.068,
"predicted_HR": 0.0759,
"predicted_OBP": 0.3318,
"predicted_R": 0.3151,
"predicted_RBI": 0.3959,
"predicted_SLG": 0.3994,
"predicted_SO": 0.527
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0651,
"after": 0.0651,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0405,
"after": 0.0405,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1945,
"after": 3.1945,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2912,
"after": 0.2823,
"delta": -0.0089,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2394,
"after": 0.2368,
"delta": -0.0026,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9311,
"after": 0.9019,
"delta": -0.0292,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0784,
"after": 0.0759,
"delta": -0.0025,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3405,
"after": 0.3318,
"delta": -0.0087,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3151,
"delta": -0.0179,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4185,
"after": 0.3959,
"delta": -0.0226,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4181,
"after": 0.3994,
"delta": -0.0187,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5213,
"after": 0.527,
"delta": 0.0057,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4181,
"after": 0.3994,
"delta": -0.0187,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.282 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0651,
"after": 0.0,
"delta": -0.0651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0405,
"after": 0.0,
"delta": -0.0405,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1945,
"after": 3.0,
"delta": -0.1945,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2368,
"after": 0.0,
"delta": -0.2368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9019,
"after": 1.0,
"delta": 0.0981,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0759,
"after": 0.0,
"delta": -0.0759,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3959,
"after": 0.0,
"delta": -0.3959,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9019,
"after": 1.0,
"delta": 0.0981,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3151,
"after": 0.0,
"delta": -0.3151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3151,
"after": 0.0,
"delta": -0.3151,
"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": 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": 3.0,
"predicted_AVG": 0.282,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.399,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2823,
"after": 0.282,
"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.3318,
"after": 0.337,
"delta": 0.0052,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.399,
"delta": -0.0004,
"percent_delta": -0.001,
"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_OBP",
"before": 0.3318,
"after": 0.337,
"delta": 0.0052,
"percent_delta": 0.0157,
"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": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2823,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3318,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3994,
"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.282,
"after": 0.2823,
"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_CS",
"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.337,
"after": 0.3318,
"delta": -0.0052,
"percent_delta": -0.0153,
"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.399,
"after": 0.3994,
"delta": 0.0004,
"percent_delta": 0.0009,
"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.337,
"after": 0.3318,
"delta": -0.0052,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 1.0,
"delta": 0.958,
"percent_delta": 22.8095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1,
"after": 4.0,
"delta": 0.9,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2823,
"delta": -0.0077,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"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.335,
"after": 0.3318,
"delta": -0.0032,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.3994,
"delta": -0.0116,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.042 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.100 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.500 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.065 | 0.023 |
| predicted_3B | 0.041 | -0.002 |
| predicted_AB | 3.195 | 0.095 |
| predicted_AVG | 0.291 | 0.001 |
| predicted_BB | 0.239 | -0.011 |
| predicted_H | 0.931 | 0.031 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.078 | 0.008 |
| predicted_OBP | 0.341 | 0.006 |
| predicted_R | 0.333 | 0.041 |
| predicted_RBI | 0.418 | -0.002 |
| predicted_SLG | 0.418 | 0.007 |
| predicted_SO | 0.521 | 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.065 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 3.195 | 0.000 |
| predicted_AVG | 0.282 | -0.009 |
| predicted_BB | 0.237 | -0.003 |
| predicted_H | 0.902 | -0.029 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.076 | -0.003 |
| predicted_OBP | 0.332 | -0.009 |
| predicted_R | 0.315 | -0.018 |
| predicted_RBI | 0.396 | -0.023 |
| predicted_SLG | 0.399 | -0.019 |
| predicted_SO | 0.527 | 0.006 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.282 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.065 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 3.000 | -0.195 |
| predicted_AVG | 0.282 | -0.000 |
| predicted_BB | 0.000 | -0.237 |
| predicted_H | 1.000 | 0.098 |
| predicted_HR | 0.000 | -0.076 |
| predicted_OBP | 0.337 | 0.005 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.399 | -0.000 |
| predicted_SO | 0.000 | -0.527 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 4.000 | 2.000 | 0.000 | 2.000 | 0.3684 | 0.4000 | 0.5789 | 0.3684 | 0.0526 | 0.2105 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 1.000 | 1.000 | 5.000 | 6.000 | 2.000 | 3.000 | 0.3056 | 0.3590 | 0.4722 | 0.3056 | 0.0278 | 0.1389 | 0.0556 | 0.0833 |
| season | 0.60 | 24 | - | 68.000 | 20.000 | 1.000 | 1.000 | 1.000 | 6.000 | 7.000 | 6.000 | 12.000 | 0.2941 | 0.3600 | 0.3824 | 0.2941 | 0.0147 | 0.0882 | 0.0882 | 0.1765 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0380 |
| predicted_AB | 3.3580 |
| predicted_AVG | 0.2932 |
| predicted_BB | 0.2210 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3500 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.4160 |
| predicted_SLG | 0.4304 |
| predicted_SO | 0.5580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0420 | 0.1050 | 0.0651 | model_form_blend |
| predicted_3B | 0.0420 | 0.0380 | 0.0405 | model_form_blend |
| predicted_AB | 3.1000 | 3.3580 | 3.1945 | model_form_blend |
| predicted_AVG | 0.2900 | 0.2932 | 0.2912 | model_form_blend |
| predicted_BB | 0.2500 | 0.2210 | 0.2394 | model_form_blend |
| predicted_H | 0.9000 | 0.9850 | 0.9311 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.0700 | 0.0930 | 0.0784 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3500 | 0.3405 | model_form_blend |
| predicted_R | 0.2920 | 0.4040 | 0.3330 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4160 | 0.4185 | model_form_blend |
| predicted_SLG | 0.4110 | 0.4304 | 0.4181 | model_form_blend |
| predicted_SO | 0.5000 | 0.5580 | 0.5213 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 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.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 | 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 | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 683227 |
| playerID | 683227 |
| playerName | Cody Freeman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.333 |
| sl_xwoba | 0.238 |
| sl_xba | 0.188 |
| sl_xslg | 0.248 |
| sl_sweet_spot_percent | 24.1 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 20.7 |
| sl_exit_velocity_avg | 82.8 |
| sl_launch_angle_avg | 9.0 |
| sl_whiff_percent | 15.7 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.117 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.156 | 4.000 | 3.000 | Hitting_AB | 1.500 | 1.000 | 2.500 | 3.000 |
| predicted_AVG | 0.250 | 0.250 | 0.000 | Hitting_AVG | 0.222 | 0.000 | 0.028 | 0.250 |
| predicted_BB | 0.221 | 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.270 | 1.000 | 0.000 | Hitting_H | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.254 | 0.250 | 0.000 | Hitting_OBP | 0.200 | 0.000 | 0.050 | 0.250 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_RBI | 0.180 | 0.000 | 0.000 | Hitting_RBI | 0.167 | 1.000 | -0.167 | -1.000 |
| predicted_SLG | 0.356 | 0.250 | 0.000 | Hitting_SLG | 0.333 | 0.000 | -0.083 | 0.250 |
| predicted_SO | 0.857 | 0.000 | 1.000 | Hitting_SO | 0.500 | 1.000 | -0.500 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.1560 -> 4.0000 (boost 0.8440, better) |
| Biggest Deboost | predicted_SO: 0.8570 -> 0.0000 (deboost -0.8570, 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 | 1 | 4 | predicted_H: 0.2700 -> 0.3822 (boost 0.1122, better) | predicted_AB: 3.1560 -> 2.9938 (deboost -0.1622, worse) | Final model input calibrated with local 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.3282 -> 0.1998 (deboost -0.1284, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.8537 -> 1.0000 (boost 0.1463, worse) | predicted_H: 0.3702 -> 0.0000 (deboost -0.3702, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.117 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2702 -> 0.0000 (deboost -0.2702, 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.1237 -> 0.1170 (deboost -0.0067, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.1170 -> 0.1237 (boost 0.0067, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"position": "DH",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.117,
"predicted_3B": 0.0,
"predicted_AB": 3.156,
"predicted_AVG": 0.25,
"predicted_BB": 0.221,
"predicted_H": 0.27,
"predicted_HR": 0.03,
"predicted_OBP": 0.254,
"predicted_R": 0.286,
"predicted_RBI": 0.18,
"predicted_SLG": 0.356,
"predicted_SO": 0.857
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1351,
"predicted_3B": 0.0004,
"predicted_AB": 2.9938,
"predicted_AVG": 0.2265,
"predicted_BB": 0.1802,
"predicted_H": 0.3822,
"predicted_HBP": 0.021,
"predicted_HR": 0.0317,
"predicted_OBP": 0.2444,
"predicted_R": 0.2856,
"predicted_RBI": 0.2199,
"predicted_SLG": 0.3282,
"predicted_SO": 0.8444
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.1351,
"delta": 0.0181,
"percent_delta": 0.1547,
"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.156,
"after": 2.9938,
"delta": -0.1622,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2265,
"delta": -0.0235,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.1802,
"delta": -0.0408,
"percent_delta": -0.1846,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.3822,
"delta": 0.1122,
"percent_delta": 0.4156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0317,
"delta": 0.0017,
"percent_delta": 0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2444,
"delta": -0.0096,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.2856,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.2199,
"delta": 0.0399,
"percent_delta": 0.2217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3282,
"delta": -0.0278,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.8444,
"delta": -0.0126,
"percent_delta": -0.0147,
"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.27,
"after": 0.3822,
"delta": 0.1122,
"percent_delta": 0.4156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.156,
"after": 2.9938,
"delta": -0.1622,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1351,
"predicted_3B": 0.0004,
"predicted_AB": 2.9938,
"predicted_AVG": 0.1237,
"predicted_BB": 0.1782,
"predicted_H": 0.3702,
"predicted_HBP": 0.021,
"predicted_HR": 0.0307,
"predicted_OBP": 0.1729,
"predicted_R": 0.2702,
"predicted_RBI": 0.208,
"predicted_SLG": 0.1998,
"predicted_SO": 0.8537
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1351,
"after": 0.1351,
"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.9938,
"after": 2.9938,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2265,
"after": 0.1237,
"delta": -0.1028,
"percent_delta": -0.4539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1802,
"after": 0.1782,
"delta": -0.002,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3822,
"after": 0.3702,
"delta": -0.012,
"percent_delta": -0.0314,
"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.0317,
"after": 0.0307,
"delta": -0.001,
"percent_delta": -0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2444,
"after": 0.1729,
"delta": -0.0715,
"percent_delta": -0.2926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2856,
"after": 0.2702,
"delta": -0.0154,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2199,
"after": 0.208,
"delta": -0.0119,
"percent_delta": -0.0541,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3282,
"after": 0.1998,
"delta": -0.1284,
"percent_delta": -0.3912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8444,
"after": 0.8537,
"delta": 0.0093,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3282,
"after": 0.1998,
"delta": -0.1284,
"percent_delta": -0.3912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.117 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1351,
"after": 0.0,
"delta": -0.1351,
"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.9938,
"after": 3.0,
"delta": 0.0062,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1782,
"after": 0.0,
"delta": -0.1782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3702,
"after": 0.0,
"delta": -0.3702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0307,
"after": 0.0,
"delta": -0.0307,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8537,
"after": 1.0,
"delta": 0.1463,
"percent_delta": 0.1714,
"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.8537,
"after": 1.0,
"delta": 0.1463,
"percent_delta": 0.1714,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3702,
"after": 0.0,
"delta": -0.3702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2702,
"after": 0.0,
"delta": -0.2702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2702,
"after": 0.0,
"delta": -0.2702,
"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.117,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.171,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.197,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1237,
"after": 0.117,
"delta": -0.0067,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1729,
"after": 0.171,
"delta": -0.0019,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1998,
"after": 0.197,
"delta": -0.0028,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1237,
"after": 0.117,
"delta": -0.0067,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1237,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1729,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1998,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.117,
"after": 0.1237,
"delta": 0.0067,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.171,
"after": 0.1729,
"delta": 0.0019,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.197,
"after": 0.1998,
"delta": 0.0028,
"percent_delta": 0.0143,
"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.117,
"after": 0.1237,
"delta": 0.0067,
"percent_delta": 0.0569,
"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.117,
"after": 0.0,
"delta": -0.117,
"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.156,
"after": 4.0,
"delta": 0.844,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1237,
"delta": -0.1263,
"percent_delta": -0.5052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.1729,
"delta": -0.0811,
"percent_delta": -0.3193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.1998,
"delta": -0.1562,
"percent_delta": -0.4388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.156,
"after": 4.0,
"delta": 0.844,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.156 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.221 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.254 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.857 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | 0.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.994 | -0.162 |
| predicted_AVG | 0.227 | -0.023 |
| predicted_BB | 0.180 | -0.041 |
| predicted_H | 0.382 | 0.112 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.032 | 0.002 |
| predicted_OBP | 0.244 | -0.010 |
| predicted_R | 0.286 | -0.000 |
| predicted_RBI | 0.220 | 0.040 |
| predicted_SLG | 0.328 | -0.028 |
| predicted_SO | 0.844 | -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.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.994 | 0.000 |
| predicted_AVG | 0.124 | -0.103 |
| predicted_BB | 0.178 | -0.002 |
| predicted_H | 0.370 | -0.012 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.031 | -0.001 |
| predicted_OBP | 0.173 | -0.072 |
| predicted_R | 0.270 | -0.015 |
| predicted_RBI | 0.208 | -0.012 |
| predicted_SLG | 0.200 | -0.128 |
| predicted_SO | 0.854 | 0.009 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.117 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 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.135 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.006 |
| predicted_AVG | 0.117 | -0.007 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 0.000 | -0.370 |
| predicted_HR | 0.000 | -0.031 |
| predicted_OBP | 0.171 | -0.002 |
| predicted_R | 0.000 | -0.270 |
| predicted_RBI | 0.000 | -0.208 |
| predicted_SLG | 0.197 | -0.003 |
| predicted_SO | 1.000 | 0.146 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 7.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 3.000 | 0.1429 | 0.1429 | 0.2857 | 0.1429 | 0.0000 | 0.1429 | 0.0000 | 0.4286 |
| last_10 | 0.20 | 10 | - | 24.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 7.000 | 0.1667 | 0.1667 | 0.2083 | 0.1667 | 0.0000 | 0.0417 | 0.0000 | 0.2917 |
| season | 0.60 | 77 | - | 243.000 | 51.000 | 9.000 | 0.000 | 4.000 | 24.000 | 22.000 | 17.000 | 66.000 | 0.2099 | 0.2679 | 0.2963 | 0.2099 | 0.0165 | 0.0988 | 0.0700 | 0.2716 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7700 |
| predicted_AVG | 0.1940 |
| predicted_BB | 0.1240 |
| predicted_H | 0.5370 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2311 |
| predicted_R | 0.2850 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.2899 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.1600 | 0.1351 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1560 | 2.7700 | 2.9938 | model_form_blend |
| predicted_AVG | 0.2500 | 0.1940 | 0.2265 | model_form_blend |
| predicted_BB | 0.2210 | 0.1240 | 0.1802 | model_form_blend |
| predicted_H | 0.2700 | 0.5370 | 0.3822 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0300 | 0.0340 | 0.0317 | model_form_blend |
| predicted_OBP | 0.2540 | 0.2311 | 0.2444 | model_form_blend |
| predicted_R | 0.2860 | 0.2850 | 0.2856 | model_form_blend |
| predicted_RBI | 0.1800 | 0.2750 | 0.2199 | model_form_blend |
| predicted_SLG | 0.3560 | 0.2899 | 0.3282 | model_form_blend |
| predicted_SO | 0.8570 | 0.8270 | 0.8444 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260901_OAK@TEX |
| game_type | ph |
| mlbID | 681351 |
| note | Hit a sacrifice fly for Pederson in the 6th. |
| playerID | 681351 |
| playerName | Logan O'Hoppe |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-01 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.254 |
| sl_xwoba | 0.263 |
| sl_xba | 0.199 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 35.6 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.197 | 0.000 | 1.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 3.230 | 4.000 | -0.230 | -1.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.237 | 0.250 | -0.237 | -0.250 |
| predicted_BB | 0.098 | 1.000 | 0.000 | Hitting_BB | 0.087 | 0.000 | 0.913 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.764 | 1.000 | -0.764 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.333 | Hitting_OBP | 0.261 | 0.250 | -0.011 | 0.000 |
| predicted_R | 0.262 | 0.000 | 0.000 | Hitting_R | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_SLG | 0.422 | 0.000 | 0.667 | Hitting_SLG | 0.369 | 0.250 | -0.369 | -0.250 |
| predicted_SO | 0.787 | 0.000 | 1.000 | Hitting_SO | 0.814 | 3.000 | -0.814 | -3.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.0980 -> 1.0000 (boost 0.9020, better) |
| Biggest Deboost | predicted_SO: 0.7870 -> 0.0000 (deboost -0.7870, 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 | 0 | 1 | predicted_SO: 0.7870 -> 0.8601 (boost 0.0731, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2999 -> 0.2657 (deboost -0.0342, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6914 -> 1.0000 (boost 0.3086, better) | predicted_RBI: 0.3600 -> 0.0000 (deboost -0.3600, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.230 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2568 -> 0.0000 (deboost -0.2568, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4006 -> 0.4080 (boost 0.0074, 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 | 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.4080 -> 0.4006 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553869",
"player_name": "Elias Díaz",
"position": "C",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.197,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.257,
"predicted_BB": 0.098,
"predicted_H": 0.69,
"predicted_HR": 0.1,
"predicted_OBP": 0.298,
"predicted_R": 0.262,
"predicted_RBI": 0.36,
"predicted_SLG": 0.422,
"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.2381,
"predicted_3B": 0.0008,
"predicted_AB": 3.0016,
"predicted_AVG": 0.2538,
"predicted_BB": 0.146,
"predicted_H": 0.7138,
"predicted_HBP": 0.039,
"predicted_HR": 0.0934,
"predicted_OBP": 0.2999,
"predicted_R": 0.2714,
"predicted_RBI": 0.3805,
"predicted_SLG": 0.4264,
"predicted_SO": 0.8601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.2381,
"delta": 0.0411,
"percent_delta": 0.2086,
"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.0,
"after": 3.0016,
"delta": 0.0016,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2538,
"delta": -0.0032,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.098,
"after": 0.146,
"delta": 0.048,
"percent_delta": 0.4898,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7138,
"delta": 0.0238,
"percent_delta": 0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0934,
"delta": -0.0066,
"percent_delta": -0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2999,
"delta": 0.0019,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.262,
"after": 0.2714,
"delta": 0.0094,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3805,
"delta": 0.0205,
"percent_delta": 0.0569,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4264,
"delta": 0.0044,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.8601,
"delta": 0.0731,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.787,
"after": 0.8601,
"delta": 0.0731,
"percent_delta": 0.0929,
"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": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2381,
"predicted_3B": 0.0008,
"predicted_AB": 3.0016,
"predicted_AVG": 0.2303,
"predicted_BB": 0.1444,
"predicted_H": 0.6914,
"predicted_HBP": 0.039,
"predicted_HR": 0.0905,
"predicted_OBP": 0.2657,
"predicted_R": 0.2568,
"predicted_RBI": 0.36,
"predicted_SLG": 0.4006,
"predicted_SO": 0.8696
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2381,
"after": 0.2381,
"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.0016,
"after": 3.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2538,
"after": 0.2303,
"delta": -0.0235,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.146,
"after": 0.1444,
"delta": -0.0016,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7138,
"after": 0.6914,
"delta": -0.0224,
"percent_delta": -0.0314,
"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.0934,
"after": 0.0905,
"delta": -0.0029,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2657,
"delta": -0.0342,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2714,
"after": 0.2568,
"delta": -0.0146,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3805,
"after": 0.36,
"delta": -0.0205,
"percent_delta": -0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4264,
"after": 0.4006,
"delta": -0.0258,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8601,
"after": 0.8696,
"delta": 0.0095,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2657,
"delta": -0.0342,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.230 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.2381,
"after": 0.0,
"delta": -0.2381,
"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.0016,
"after": 3.0,
"delta": -0.0016,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1444,
"after": 0.0,
"delta": -0.1444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6914,
"after": 1.0,
"delta": 0.3086,
"percent_delta": 0.4463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0905,
"after": 0.0,
"delta": -0.0905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8696,
"after": 1.0,
"delta": 0.1304,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6914,
"after": 1.0,
"delta": 0.3086,
"percent_delta": 0.4463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2568,
"after": 0.0,
"delta": -0.2568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2568,
"after": 0.0,
"delta": -0.2568,
"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.23,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.272,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.408,
"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.2303,
"after": 0.23,
"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.2657,
"after": 0.272,
"delta": 0.0063,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4006,
"after": 0.408,
"delta": 0.0074,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4006,
"after": 0.408,
"delta": 0.0074,
"percent_delta": 0.0185,
"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": 3.0,
"after": 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.2303,
"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.2657,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4006,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2303,
"delta": 0.0003,
"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.272,
"after": 0.2657,
"delta": -0.0063,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4006,
"delta": -0.0074,
"percent_delta": -0.0181,
"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.408,
"after": 0.4006,
"delta": -0.0074,
"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.197,
"after": 0.0,
"delta": -0.197,
"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.257,
"after": 0.2303,
"delta": -0.0267,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.098,
"after": 1.0,
"delta": 0.902,
"percent_delta": 9.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2657,
"delta": -0.0323,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4006,
"delta": -0.0214,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.0,
"delta": -0.787,
"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.098,
"after": 1.0,
"delta": 0.902,
"percent_delta": 9.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.787,
"after": 0.0,
"delta": -0.787,
"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.197 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.098 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.262 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.422 | - |
| 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.238 | 0.041 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.002 | 0.002 |
| predicted_AVG | 0.254 | -0.003 |
| predicted_BB | 0.146 | 0.048 |
| predicted_H | 0.714 | 0.024 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.300 | 0.002 |
| predicted_R | 0.271 | 0.009 |
| predicted_RBI | 0.381 | 0.021 |
| predicted_SLG | 0.426 | 0.004 |
| predicted_SO | 0.860 | 0.073 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.002 | 0.000 |
| predicted_AVG | 0.230 | -0.024 |
| predicted_BB | 0.144 | -0.002 |
| predicted_H | 0.691 | -0.022 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.090 | -0.003 |
| predicted_OBP | 0.266 | -0.034 |
| predicted_R | 0.257 | -0.015 |
| predicted_RBI | 0.360 | -0.021 |
| predicted_SLG | 0.401 | -0.026 |
| predicted_SO | 0.870 | 0.010 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.230 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 | 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.238 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.002 |
| predicted_AVG | 0.230 | -0.000 |
| predicted_BB | 0.000 | -0.144 |
| predicted_H | 1.000 | 0.309 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.272 | 0.006 |
| predicted_R | 0.000 | -0.257 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.408 | 0.007 |
| predicted_SO | 1.000 | 0.130 |
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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 3.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 7.000 | 0.3077 | 0.4000 | 0.5385 | 0.3077 | 0.0000 | 0.1538 | 0.1538 | 0.5385 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 3.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 10.000 | 0.2500 | 0.3333 | 0.4643 | 0.2500 | 0.0357 | 0.1429 | 0.1071 | 0.3571 |
| season | 0.60 | 61 | - | 183.000 | 42.000 | 12.000 | 0.000 | 6.000 | 24.000 | 16.000 | 6.000 | 48.000 | 0.2295 | 0.2591 | 0.3934 | 0.2295 | 0.0328 | 0.1311 | 0.0328 | 0.2623 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2970 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0040 |
| predicted_AVG | 0.2491 |
| predicted_BB | 0.2150 |
| predicted_H | 0.7480 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.3026 |
| predicted_R | 0.2850 |
| predicted_RBI | 0.4100 |
| predicted_SLG | 0.4327 |
| predicted_SO | 0.9650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.2970 | 0.2381 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0000 | 3.0040 | 3.0016 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2491 | 0.2538 | model_form_blend |
| predicted_BB | 0.0980 | 0.2150 | 0.1460 | model_form_blend |
| predicted_H | 0.6900 | 0.7480 | 0.7138 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1000 | 0.0840 | 0.0934 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3026 | 0.2999 | model_form_blend |
| predicted_R | 0.2620 | 0.2850 | 0.2714 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4100 | 0.3805 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4327 | 0.4264 | model_form_blend |
| predicted_SO | 0.7870 | 0.9650 | 0.8601 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 161 |
| Season rows before report date | 161 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_OAK@TEX |
| game_type | full |
| mlbID | 553869 |
| playerID | 553869 |
| playerName | Elias Díaz |
| pos | C |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.284 |
| sl_xwoba | 0.277 |
| sl_xba | 0.225 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 54.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.786 | 0.000 | 0.214 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.071 | 3.000 | 1.929 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.750 | 4.000 | 0.250 | -1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 3.136 | 6.000 | 2.064 | -0.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.429 | 8.000 | 1.571 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 2.0000 -> 4.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 2.0000 -> 4.0000 (boost 2.0000, better) | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "615698",
"player_name": "Cal Quantrill",
"position": "Starter",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 2.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 4.000 | 2.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.000 | 4.000 | 18.000 | 3.000 | 25.000 | 2.000 | 1.4400 | 0.8400 | 0.1600 | 0.7200 | 0.1200 | 1.0000 | 0.0800 |
| last_10 | 0.35 | 10 | 49.100 | 15.000 | 42.000 | 10.000 | 41.000 | 6.000 | 2.7365 | 1.0541 | 0.3040 | 0.8514 | 0.2027 | 0.8311 | 0.1216 |
| season | 0.20 | 28 | 89.200 | 30.000 | 77.000 | 22.000 | 68.000 | 11.000 | 3.0112 | 1.1041 | 0.3346 | 0.8587 | 0.2454 | 0.7584 | 0.1227 |
| Metric | Value |
|---|---|
| predicted_BB | 0.9820 |
| predicted_ER | 1.3660 |
| predicted_ERA | 2.5520 |
| predicted_H | 3.9550 |
| predicted_HR | 0.5290 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.3340 |
| predicted_WHIP | 1.0247 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.9820 | 0.9895 | model_form_blend |
| predicted_ER | 3.0000 | 1.3660 | 2.0425 | model_form_blend |
| predicted_ERA | - | 2.5520 | 2.5520 | form_only |
| predicted_H | 3.0000 | 3.9550 | 3.5596 | model_form_blend |
| predicted_HR | 1.0000 | 0.5290 | 0.7240 | model_form_blend |
| predicted_IP | 5.2000 | 4.2000 | 5.1000 | model_form_blend |
| predicted_SO | 2.0000 | 4.3340 | 3.3677 | model_form_blend |
| predicted_WHIP | - | 1.0247 | 1.0247 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 21 |
| Pitches | 84 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.01 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 6 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 88 |
| Pitching_R | 3 |
| Pitching_SO | 8 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_TEX@MIL |
| game_type | full |
| mlbID | 615698 |
| playerID | 615698 |
| playerName | Cal Quantrill |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-29 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.285 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 78.531869778 |
| sl_avg_hyper_speed | 93.695199778 |
| 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.224 | 0.000 | 0.776 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.551 | 0.000 | 2.449 | 3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.171 | 0.200 | -0.071 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.388 | 2.000 | -1.388 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656641",
"player_name": "Jacob Latz",
"position": "Closer",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 1.000 | 3.000 | 10.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.2143 | 0.6429 | 2.1429 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 1.000 | 5.000 | 7.000 | 17.000 | 0.000 | 0.7714 | 1.0286 | 0.0857 | 0.4286 | 0.6000 | 1.4571 | 0.0000 |
| season | 0.20 | 48 | 60.200 | 8.000 | 24.000 | 17.000 | 68.000 | 3.000 | 1.1868 | 0.6758 | 0.1319 | 0.3956 | 0.2802 | 1.1209 | 0.0495 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5670 |
| predicted_ER | 0.2090 |
| predicted_ERA | 1.6621 |
| predicted_H | 0.5810 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.6700 |
| predicted_WHIP | 1.0154 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5670 | 0.2989 | model_form_blend |
| predicted_ER | 1.0000 | 0.2090 | 0.5830 | model_form_blend |
| predicted_ERA | - | 1.6621 | 1.6621 | form_only |
| predicted_H | 3.0000 | 0.5810 | 1.7249 | model_form_blend |
| predicted_HR | 0.0000 | 0.0560 | 0.0295 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.6700 | 1.3532 | model_form_blend |
| predicted_WHIP | - | 1.0154 | 1.0154 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 48 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 7 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.63 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260901_OAK@TEX |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-01 |
| sl_k_percent | 30.4 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.19 |
| sl_xwoba | 0.235 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 38.4 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 52.3 |
| sl_avg_best_speed | 78.555700147 |
| sl_avg_hyper_speed | 93.582796296 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.930 | 1.000 | -0.930 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.991 | 1.000 | 0.009 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.814 | 0.000 | -0.814 | 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": "596001",
"player_name": "Jakob Junis",
"position": "Setup Man",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 2.000 | 5.000 | 4.000 | 0.000 | 0.0000 | 1.6154 | 0.0000 | 0.4615 | 1.1539 | 0.9231 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 6.000 | 6.000 | 6.000 | 1.000 | 1.9286 | 1.2857 | 0.2143 | 0.6429 | 0.6429 | 0.6429 | 0.1071 |
| season | 0.20 | 43 | 46.100 | 14.000 | 40.000 | 12.000 | 35.000 | 3.000 | 2.7194 | 1.1223 | 0.3022 | 0.8633 | 0.2590 | 0.7554 | 0.0648 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6470 |
| predicted_ER | 0.2620 |
| predicted_ERA | 2.3574 |
| predicted_H | 0.7340 |
| predicted_HR | 0.0840 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8430 |
| predicted_WHIP | 1.3812 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6470 | 0.3251 | model_form_blend |
| predicted_ER | 0.0000 | 0.2620 | 0.1316 | model_form_blend |
| predicted_ERA | - | 2.3574 | 2.3574 | form_only |
| predicted_H | 0.0000 | 0.7340 | 0.3688 | model_form_blend |
| predicted_HR | 0.0000 | 0.0840 | 0.0422 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8430 | 0.4235 | model_form_blend |
| predicted_WHIP | - | 1.3812 | 1.3812 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.72 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260830_TEX@MIL |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-30 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.267 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 47.1 |
| sl_avg_best_speed | 76.93188662 |
| sl_avg_hyper_speed | 93.117855177 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.333 | 0.000 | 0.667 | 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.673 | 0.200 | 0.327 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.867 | 2.000 | -0.867 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681217",
"player_name": "Chase Silseth",
"position": "Middle Reliever (High Leverage)",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 2.000 | 3.000 | 4.000 | 4.000 | 0.000 | 4.9091 | 1.9091 | 0.5454 | 0.8182 | 1.0909 | 1.0909 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 3.000 | 4.000 | 5.000 | 10.000 | 1.000 | 3.3750 | 1.1250 | 0.3750 | 0.5000 | 0.6250 | 1.2500 | 0.1250 |
| season | 0.20 | 62 | 52.100 | 17.000 | 43.000 | 32.000 | 61.000 | 5.000 | 2.9236 | 1.4331 | 0.3248 | 0.8217 | 0.6115 | 1.1656 | 0.0955 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4860 |
| predicted_ER | 0.3270 |
| predicted_ERA | 4.1372 |
| predicted_H | 0.5650 |
| predicted_HR | 0.0640 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7760 |
| predicted_WHIP | 1.4764 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4860 | 0.2497 | model_form_blend |
| predicted_ER | 1.0000 | 0.3270 | 0.6542 | model_form_blend |
| predicted_ERA | - | 4.1372 | 4.1372 | form_only |
| predicted_H | 2.0000 | 0.5650 | 1.2626 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0329 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7760 | 0.8849 | model_form_blend |
| predicted_WHIP | - | 1.4764 | 1.4764 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 62 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.92 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260901_OAK@TEX |
| game_type | full |
| mlbID | 681217 |
| playerID | 681217 |
| playerName | Chase Silseth |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-09-01 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.305 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 41.5 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 75.008884697 |
| sl_avg_hyper_speed | 93.27948053 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TOR 4 - 3 CLE | TOR | 0.547 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TOR 4 - 3 CLE | TOR | - | 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.5555; empirical=0.5359; weight=0.5000; final=0.5457 |
| P1 | H2H margin as base feature | available | home net=-8; abs=8; home delta=-0.0462; away delta=0.0462 |
| 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.2728; recent edge=0.1040; 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.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5466 |
| 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.504 | 3.614 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 4 | 3 | 0.5466 | 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 | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5689097426751594,
"base_low_score_probability": 0.4299363057324841,
"low_score_signal_threshold": 0.509936305732484,
"low_score_signal_strength": 0.13897343694267528,
"confidence": 0.7616209600000001,
"factors": {
"environmental": 1.1566800000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.04,
"combined": 1.3232419200000003
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"score_scale_mode": "control",
"pre_simulation_expected_total_runs": 6.8,
"low_score_model_expected_total_runs": 6.8,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_score_floor_v3",
"sample_size": 515,
"near_bucket_sample_size": 515,
"medium_bucket_sample_size": 575,
"wide_bucket_sample_size": 762,
"global_sample_size": 786,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5359,
"bayesian_hit_rate": 0.5347,
"prior_strength": 18.0,
"raw_pick_probability": 0.5448,
"raw_pick_probability_unclamped": 0.5448,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.4552,
"margin_implied_pick_probability": 0.5448,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5448,
"score_implied_floor_pick_probability": 0.5439,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.455151,
"uncapped_away_win_probability": 0.544849,
"calibrated_pick_probability": 0.5439,
"predicted_side": "away",
"reliability": 0.966229,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.978049
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.555548,
"sample_size": 515,
"empirical_hit_rate": 0.5359,
"empirical_weight": 0.5,
"blended_confidence": 0.545724,
"published_confidence": 0.546553,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": -8.0,
"absolute_net_margin": 8.0,
"home_average_margin": -1.6,
"home_run_delta": -0.0462,
"away_run_delta": 0.0462,
"evidence": [
{
"game_id": null,
"home_margin": -11.0
},
{
"game_id": null,
"home_margin": 5.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": 2.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": false,
"home": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5035971223021583,
"runs_scored": 563,
"runs_allowed": 571,
"run_differential": -8,
"run_differential_per_game": -0.05755395683453238,
"available": true
},
"away": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 560,
"runs_allowed": 604,
"run_differential": -44,
"run_differential_per_game": -0.3142857142857143,
"available": true
},
"run_differential_edge_per_game": 0.2567,
"win_pct_edge": 0.0107,
"quality_edge": 0.2137,
"season_quality_edge": 0.2728,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.2728,
"recent_quality_edge": 0.104,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.2137
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.03154072689494335
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.03088119834417032
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.02916048667080535
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.028550729845038734
},
{
"home_runs": 2,
"away_runs": 4,
"probability": 0.028054972973027975
}
],
"home_distribution": {
"0": 0.07311135961949385,
"1": 0.12154140447731583,
"2": 0.16615938163492014,
"3": 0.18680423189921336,
"4": 0.17270693641560816,
"5": 0.13130887390366466,
"6": 0.0820993275261603,
"7": 0.04221301279181738,
"8": 0.017849017915035174,
"9": 0.00620645381677103
},
"away_distribution": {
"0": 0.056923641758514804,
"1": 0.09598674816329716,
"2": 0.13694605667031506,
"3": 0.16531316250282638,
"4": 0.16884374927844537,
"5": 0.14590903692781934,
"6": 0.10668393959429673,
"7": 0.06599872551796739,
"8": 0.03454551756540028,
"9": 0.015299157258534729,
"10": 0.005732749486292766,
"11": 0.0018175152762900596
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.58,
"winner_flipped": false,
"reasons": [
"predicted side recently lost this matchup by 5+ runs"
],
"signals": {
"predicted_team": "TOR",
"opponent_team": "CLE",
"h2h_net_margin": 8,
"opponent_breakout": false,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-09-02",
"predicted_team_runs": 11,
"opponent_runs": 0,
"margin_for_predicted_team": 11,
"winner": "TOR"
},
{
"date": "2026-09-01",
"predicted_team_runs": 1,
"opponent_runs": 6,
"margin_for_predicted_team": -5,
"winner": "CLE"
},
{
"date": "2026-04-26",
"predicted_team_runs": 4,
"opponent_runs": 2,
"margin_for_predicted_team": 2,
"winner": "TOR"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260902",
"away": "TOR",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "TOR",
"actual_margin": 11,
"raw_pick_probability": 0.583822,
"artifact": "20260902_TOR@CLE.json",
"verification": "pregame_official_final"
},
{
"date": "20260901",
"away": "TOR",
"home": "CLE",
"game_number": 1,
"predicted_team": "CLE",
"actual_winner": "CLE",
"actual_margin": 5,
"raw_pick_probability": 0.555236,
"artifact": "20260901_TOR@CLE.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TOR",
"guardrail_opponent_team": "CLE",
"output_pre_simulation_winner": "TOR",
"output_opponent_team": "CLE",
"simulation_score_winner": "TOR",
"final_score_winner": "TOR",
"pre_simulation_winner": "TOR",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"flip_authority": "caps_confidence_and_shifts_runs_only",
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"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.0401,
"recent_form_edge_home_minus_away": 0.034,
"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": 4,
"home_runs": 3,
"winner": "TOR",
"model_winner": "TOR",
"simulation_winner": "TOR",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "TOR",
"published_winner_draw_share": 1.0,
"draw_majority_team": "TOR",
"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": 3
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.2137,
"winner": "TOR",
"score_reviewed": {
"away_runs": 4,
"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": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5035971223021583,
"runs_scored": 563,
"runs_allowed": 571,
"run_differential": -8,
"run_differential_per_game": -0.05755395683453238,
"available": true
},
"away": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4928571428571429,
"runs_scored": 560,
"runs_allowed": 604,
"run_differential": -44,
"run_differential_per_game": -0.3142857142857143,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.5276,
"final_margin": -0.5276,
"margin_cap": 1.5,
"season_quality_edge": 0.2137,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.545724,
"final_confidence": 0.5439,
"calibrated_pick_probability": 0.5439,
"shrinkage_weight": 0.978049,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.5276,
"calibration_sample_size": 515,
"calibration_empirical_hit_rate": 0.5359,
"calibration_bayesian_hit_rate": 0.5347,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2137,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 4,
"home_runs": 3
},
"margin": -1,
"probability_before": 0.456135,
"margin_implied_home_probability": 0.415,
"shrinkage_weight": 0.978049,
"side_flipped": false,
"applied": true,
"probability_after": 0.435567,
"aligned_pick_probability": 0.564433
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"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.0401,
"recent_form_edge_home_minus_away": 0.034,
"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": 4,
"home_runs": 3,
"winner": "TOR",
"model_winner": "TOR",
"simulation_winner": "TOR",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "TOR",
"published_winner_draw_share": 1.0,
"draw_majority_team": "TOR",
"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": 3
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.2137,
"winner": "TOR",
"score_reviewed": {
"away_runs": 4,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 3,
"confidence": 0.5465528424999999,
"home_win_probability": 0.4534471575000001,
"away_win_probability": 0.5465528424999999,
"predicted_score_text": "TOR 4 - 3 CLE",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "TOR",
"original_runs": 4,
"run_delta": -0.202,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": -0.2557053236781082,
"contact": -0.4220380543630977,
"power": -0.594485231513279,
"discipline": -0.07155101735216084,
"xwoba": 0.28506060606060607,
"recent_xwoba": 0.28506060606060607,
"barrel": 4.515151515151516,
"ab_hard_contact": -0.501716174277127,
"ab_bat_speed": 68.42313802258995,
"ab_strikeout_rate": 0.19181039686154036,
"available_players": 9,
"top_players": [
{
"player_id": "665926",
"player_name": "Andrés Giménez",
"position": "SS",
"weight": 3.0,
"quality": -0.9021292268685236,
"contact": -0.9513567002477261,
"power": -0.9925381044603099,
"discipline": -0.592552967563837,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 3.4,
"ab_hard_contact": -1.0953335177776329,
"ab_bat_speed": 65.65332819185645,
"ab_strikeout_rate": 0.1956521739130435,
"available": 1.0
},
{
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "2B",
"weight": 4.0,
"quality": -0.8035375873505499,
"contact": -0.7346279712453864,
"power": -1.160064573404284,
"discipline": 0.10862630662020906,
"xwoba": 0.266,
"recent_xwoba": 0.266,
"barrel": 2.1,
"ab_hard_contact": -0.621100991895212,
"ab_bat_speed": 65.74477345173042,
"ab_strikeout_rate": 0.08997289972899729,
"available": 1.0
},
{
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"weight": 5.0,
"quality": -0.5171448332888854,
"contact": -0.37060661928384375,
"power": -0.8629851530765998,
"discipline": 0.13481878306878306,
"xwoba": 0.287,
"recent_xwoba": 0.287,
"barrel": 2.4,
"ab_hard_contact": -0.5149411567700928,
"ab_bat_speed": 65.29933680707558,
"ab_strikeout_rate": 0.13685185185185184,
"available": 1.0
},
{
"player_id": "703520",
"player_name": "Brett Bateman",
"position": "CF",
"weight": 5.0,
"quality": -0.25058112486792766,
"contact": -0.9796193243583983,
"power": -1.586828953381526,
"discipline": 0.25093903318903305,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 0.0,
"ab_hard_contact": -0.8935314485829071,
"ab_bat_speed": 64.54823232323233,
"ab_strikeout_rate": 0.1803030303030303,
"available": 1.0
},
{
"player_id": "669701",
"player_name": "Josh Smith",
"position": "3B",
"weight": 3.0,
"quality": -0.47537356024516314,
"contact": -0.8501702613945772,
"power": -0.5537977813307091,
"discipline": 0.22128968253968254,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 7.8,
"ab_hard_contact": -0.9140508647094199,
"ab_bat_speed": 66.34727005385487,
"ab_strikeout_rate": 0.20059523809523808,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676440",
"player_name": "Tanner Bibee",
"quality": -0.16615373338222486,
"contact": -0.026142810817706773,
"command": -0.29711501831501824,
"movement": -0.44948684532624095,
"xwoba": 0.319,
"whiff": 23.8,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
},
"home": {
"team": "CLE",
"original_runs": 3,
"run_delta": -0.0789,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.053949275928520085,
"contact": 0.21794013781607732,
"power": -0.16345773041673417,
"discipline": 0.44670944542701574,
"xwoba": 0.3160285714285714,
"recent_xwoba": 0.3160285714285714,
"barrel": 5.217142857142858,
"ab_hard_contact": 0.1057025345224575,
"ab_bat_speed": 69.33835305346072,
"ab_strikeout_rate": 0.16194486296300695,
"available_players": 9,
"top_players": [
{
"player_id": "595978",
"player_name": "Austin Hedges",
"position": "C",
"weight": 3.0,
"quality": -0.5226245107053576,
"contact": -0.6573083197308417,
"power": -0.7943961974975632,
"discipline": 0.2256164477285167,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 4.6,
"ab_hard_contact": -0.4662096642369843,
"ab_bat_speed": 66.52563697318007,
"ab_strikeout_rate": 0.18448275862068964,
"available": 1.0
},
{
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"weight": 5.0,
"quality": 0.649338891882839,
"contact": 0.9741560844020755,
"power": 0.40562782572150685,
"discipline": 0.7773648459383754,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 6.3,
"ab_hard_contact": 0.47331841919203654,
"ab_bat_speed": 69.74127999533147,
"ab_strikeout_rate": 0.13530578898225956,
"available": 1.0
},
{
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"weight": 4.0,
"quality": -0.3366599513824048,
"contact": -0.04587752765445887,
"power": -1.2666987627050303,
"discipline": 1.569778314028314,
"xwoba": 0.322,
"recent_xwoba": 0.322,
"barrel": 0.5,
"ab_hard_contact": -0.7187371588625125,
"ab_bat_speed": 61.24544973544973,
"ab_strikeout_rate": 0.09589232089232089,
"available": 1.0
},
{
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"weight": 4.0,
"quality": -0.44388781888336487,
"contact": -0.3617232992132757,
"power": -0.7329344345906765,
"discipline": 0.06278808189942642,
"xwoba": 0.291,
"recent_xwoba": 0.291,
"barrel": 3.0,
"ab_hard_contact": -0.46135535848019904,
"ab_bat_speed": 69.2142616713352,
"ab_strikeout_rate": 0.1420968387354942,
"available": 1.0
},
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "LF",
"weight": 4.0,
"quality": 0.3808626474820982,
"contact": 0.40002455217699057,
"power": 0.6527327157835494,
"discipline": -0.7081191444057298,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 9.4,
"ab_hard_contact": 0.5643686013852689,
"ab_bat_speed": 75.71448722415796,
"ab_strikeout_rate": 0.25650406504065043,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "667755",
"player_name": "José Soriano",
"quality": 0.054161717253657087,
"contact": 0.052227849492452245,
"command": 0.07902783882783891,
"movement": 0.5198924418518465,
"xwoba": 0.325,
"whiff": 30.1,
"faced_est_woba": 0.26545606096681096,
"faced_launch_speed": 83.81421666894727,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006599025356670439
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": 0.2137,
"recent_form_edge_home_minus_away": 0.034,
"pitcher_matchup_edge_home_minus_away": -0.0401,
"composite_home_edge": -0.1422,
"existing_home_win_probability": 0.4356,
"refreshed_home_win_probability": 0.4294,
"winner_support_before_review": 0.1422
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.435567,
"uncapped_away_win_probability": 0.564433,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.564433,
"discount_factor": 0.7225,
"published_confidence": 0.546553,
"guardrail_confidence_cap": 0.58,
"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": 4,
"home_runs": 3,
"predicted_score_text": "TOR 4 - 3 CLE",
"confidence": 0.5465528424999999,
"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": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TOR 4 - 3 CLE",
"winner": "TOR"
},
"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.0401,
"recent_form_edge_home_minus_away": 0.034,
"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": 4,
"home_runs": 3,
"winner": "TOR",
"model_winner": "TOR",
"simulation_winner": "TOR",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 2,
"published_winner": "TOR",
"published_winner_draw_share": 1.0,
"draw_majority_team": "TOR",
"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": 3
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.2137,
"winner": "TOR",
"score_reviewed": {
"away_runs": 4,
"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": "TOR",
"display_confidence": 0.5466,
"internal_signal_score": 0.5906,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5466,
"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.2137,
"winner_recent_form_edge": -0.104,
"winner_pitcher_matchup_edge": 0.0401,
"winner_simulation_draw_rate": 1.0,
"blowout_draw_rate_margin_4_plus": 0.0,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.5,
"total_runs_spread": {
"min": 2,
"median": 9,
"max": 9,
"range": 7
}
},
"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 TOR | True | 0.9859 | 0.9859 | 1 | 9 | 0 |
| Home CLE | True | 1.0139 | 1.0139 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Jesús Sánchez | 628 | 1.0517 | 0.6892 | neutral | 0.3290 | 0.2600 | 0.4330 | 11.20 | 46 | 90.80 | 10.90 | 27.80 | 23.10 | 5.90 | 0.1429 |
| DH | Sean Keys | 508 | 0.9686 | -0.4183 | neutral | 0.2140 | 0.1800 | 0.2880 | 4.20 | 62.50 | 92.30 | 22.30 | 32.90 | 34.20 | 2.60 | -0.2571 |
| 3B | Josh Smith | 476 | 0.9770 | -0.3064 | neutral | 0.2830 | 0.2120 | 0.3370 | 7.80 | 29.50 | 85.80 | 14.30 | 24.80 | 21.20 | 10.10 | 0 |
| RF | Nathan Lukes | 155 | 0.9634 | -0.4876 | neutral | 0.2870 | 0.2510 | 0.3390 | 2.40 | 27.30 | 86.80 | 8.70 | 17.20 | 15.30 | 5.60 | -0.6857 |
| 1B | Vladimir Guerrero Jr. | 210 | 1.0505 | 0.6734 | neutral | 0.3330 | 0.2830 | 0.4020 | 6.80 | 43 | 90.20 | 9.20 | 19.10 | 12.50 | 9.30 | 0.7429 |
| CF | Brett Bateman | 207 | 0.9623 | -0.5020 | negative_batter_regression | 0.2710 | 0.2360 | 0.2850 | 0 | 16.20 | 83.20 | 0.80 | 17.30 | 21.60 | 8.20 | -1.8286 |
| SS | Andrés Giménez | 212 | 0.9437 | -0.7504 | neutral | 0.2680 | 0.2300 | 0.3240 | 3.40 | 25 | 85.70 | 12.90 | 24.80 | 19.50 | 3.20 | -0.4286 |
| 2B | Ernie Clement | 151 | 0.9376 | -0.8317 | negative_batter_regression | 0.2660 | 0.2490 | 0.3280 | 2.10 | 20.30 | 84.20 | 16.80 | 15.80 | 9.80 | 3.50 | -0.9714 |
| C | Brandon Valenzuela | 169 | 1.0184 | 0.2454 | neutral | 0.3130 | 0.2420 | 0.3840 | 7.20 | 37.90 | 88.20 | 15.50 | 25.60 | 26.10 | 10 | 0.2571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | José Ramírez | 92 | 1.0587 | 0.7826 | neutral | 0.3420 | 0.2790 | 0.4160 | 4.50 | 41.50 | 89.30 | 19.30 | 15.70 | 13 | 12.30 | 0.7714 |
| CF | Steven Kwan | 25 | 0.9928 | -0.0967 | neutral | 0.3220 | 0.2700 | 0.3330 | 0.50 | 9.60 | 83.80 | 12.70 | 8.30 | 9.90 | 13.20 | -0.0571 |
| LF | Jo Adell | 282 | 1.0543 | 0.7241 | neutral | 0.3300 | 0.2590 | 0.4480 | 9.40 | 44.50 | 90.20 | 16.50 | 28.20 | 23.90 | 4.60 | 0.6571 |
| 3B | Angel Genao | 220 | 1.0048 | 0.0646 | neutral | 0.3000 | 0.2480 | 0.3670 | 5.90 | 52.90 | 91.30 | -0.90 | 19 | 12.80 | 7 | -0.1143 |
| RF | Chase DeLauter | 60 | 1.0552 | 0.7362 | neutral | 0.3440 | 0.2770 | 0.4250 | 6.30 | 45.90 | 91.40 | 12.10 | 15.50 | 15 | 10.20 | -0.4286 |
| 1B | Nathaniel Lowe | 256 | 1.0470 | 0.6265 | neutral | 0.3320 | 0.2660 | 0.4340 | 8.70 | 40.70 | 89.10 | 14.30 | 21.60 | 24.20 | 9 | -0.0286 |
| 2B | Travis Bazzana | 147 | 0.9779 | -0.2951 | neutral | 0.2950 | 0.2230 | 0.3360 | 4.50 | 36.20 | 87.70 | 14.90 | 24.80 | 21.50 | 11.20 | -0.4000 |
| C | Austin Hedges | 232 | 0.9568 | -0.5756 | negative_batter_regression | 0.2750 | 0.2260 | 0.3160 | 4.60 | 31.40 | 86.40 | 12.10 | 22.30 | 17.70 | 8.60 | -1 |
| SS | Brayan Rocchio | 112 | 0.9780 | -0.2932 | neutral | 0.2910 | 0.2440 | 0.3470 | 3 | 30.90 | 86.70 | 13.60 | 22.30 | 14.50 | 6.30 | -0.1429 |
{
"home": {
"applied": true,
"offense_factor": 1.0139,
"raw_average_factor": 1.0139,
"team_espn_average_rank": 158.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "608070",
"player_name": "José Ramírez",
"offense_factor": 1.0587,
"quality_score": 0.7826,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608070",
"espn_id": 32801,
"player_name": "Jose Ramirez",
"team": "CLE",
"role": "batter",
"espn_rank": 92,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 92,
"gp_value": 105.0,
"gp_rank": "171",
"ab_value": 389.0,
"ab_rank": "134",
"r_value": 61.0,
"r_rank": "98",
"h_value": 94.0,
"h_rank": "138",
"avg_value": 0.2416452,
"avg_rank": 98.0,
"2b_value": 24.0,
"2b_rank": "55",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 11.0,
"hr_rank": "158",
"rbi_value": 48.0,
"rbi_rank": "149",
"tb_value": 151.0,
"tb_rank": "1243",
"bb_value": 56.0,
"bb_rank": "52",
"so_value": 59.0,
"so_rank": "261",
"sb_value": 31.0,
"sb_rank": "6",
"obp_value": 0.3355408,
"obp_rank": "64",
"slg_value": 0.3881748,
"slg_rank": "106",
"ops_value": 0.7237156,
"ops_rank": 94.0,
"war_value": 2.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 13.0,
"bb_percent": 12.3,
"woba": 0.315,
"xwoba": 0.342,
"xba": 0.279,
"xslg": 0.416,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 19.3,
"whiff_percent": 15.7,
"swing_percent": 45.7
},
"components": {
"expected_quality": 0.7844,
"regression_edge": 0.7714,
"xwoba_edge": 1.1714,
"xba_edge": 1.2286,
"xslg_edge": 0.7,
"barrel_edge": -0.4778,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.8083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 0.9928,
"quality_score": -0.0967,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680757",
"espn_id": 41996,
"player_name": "Steven Kwan",
"team": "CLE",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 25,
"gp_value": 129.0,
"gp_rank": "88",
"ab_value": 454.0,
"ab_rank": "92",
"r_value": 68.0,
"r_rank": "59",
"h_value": 124.0,
"h_rank": "67",
"avg_value": 0.2731277,
"avg_rank": 39.0,
"2b_value": 17.0,
"2b_rank": "152",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 27.0,
"rbi_rank": "278",
"tb_value": 151.0,
"tb_rank": "1598",
"bb_value": 71.0,
"bb_rank": "18",
"so_value": 53.0,
"so_rank": "278",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.3740601,
"obp_rank": "13",
"slg_value": 0.3325991,
"slg_rank": "141",
"ops_value": 0.7066592,
"ops_rank": 106.0,
"war_value": 4.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 467.0,
"k_percent": 9.9,
"bb_percent": 13.2,
"woba": 0.324,
"xwoba": 0.322,
"xba": 0.27,
"xslg": 0.333,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 0.5,
"hard_hit_percent": 9.6,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 12.7,
"whiff_percent": 8.3,
"swing_percent": 36.0
},
"components": {
"expected_quality": -0.1031,
"regression_edge": -0.0571,
"xwoba_edge": 0.6,
"xba_edge": 0.9714,
"xslg_edge": -0.4857,
"barrel_edge": -1.3667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": 1.1583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0543,
"quality_score": 0.7241,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666176",
"espn_id": 40854,
"player_name": "Jo Adell",
"team": "CLE",
"role": "batter",
"espn_rank": 282,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 282,
"gp_value": 136.0,
"gp_rank": "28",
"ab_value": 515.0,
"ab_rank": "29",
"r_value": 56.0,
"r_rank": "113",
"h_value": 124.0,
"h_rank": "67",
"avg_value": 0.2407766,
"avg_rank": 100.0,
"2b_value": 23.0,
"2b_rank": "69",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 20.0,
"hr_rank": "63",
"rbi_value": 83.0,
"rbi_rank": "11",
"tb_value": 209.0,
"tb_rank": "591",
"bb_value": 26.0,
"bb_rank": "217",
"so_value": 134.0,
"so_rank": "38",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.2959001,
"obp_rank": "128",
"slg_value": 0.4058252,
"slg_rank": "89",
"ops_value": 0.7017253,
"ops_rank": 113.0,
"war_value": 0.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 500.0,
"k_percent": 23.9,
"bb_percent": 4.6,
"woba": 0.307,
"xwoba": 0.33,
"xba": 0.259,
"xslg": 0.448,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 44.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.5,
"whiff_percent": 28.2,
"swing_percent": 54.2
},
"components": {
"expected_quality": 0.735,
"regression_edge": 0.6571,
"xwoba_edge": 0.8286,
"xba_edge": 0.6571,
"xslg_edge": 1.1571,
"barrel_edge": 0.6111,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.0417,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "694197",
"player_name": "Angel Genao",
"offense_factor": 1.0048,
"quality_score": 0.0646,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694197",
"espn_id": 5204351,
"player_name": "Angel Genao",
"team": "CLE",
"role": "batter",
"espn_rank": 220,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 220,
"gp_value": 23.0,
"gp_rank": "497",
"ab_value": 79.0,
"ab_rank": "455",
"r_value": 10.0,
"r_rank": "444",
"h_value": 20.0,
"h_rank": "435",
"avg_value": 0.2531645,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": "439",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 2.0,
"hr_rank": "413",
"rbi_value": 5.0,
"rbi_rank": "502",
"tb_value": 29.0,
"tb_rank": "2689",
"bb_value": 6.0,
"bb_rank": "446",
"so_value": 11.0,
"so_rank": "527",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3139534,
"obp_rank": "-",
"slg_value": 0.3670886,
"slg_rank": "-",
"ops_value": 0.681042,
"ops_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 45.0,
"k_percent": 12.8,
"bb_percent": 7.0,
"woba": 0.304,
"xwoba": 0.3,
"xba": 0.248,
"xslg": 0.367,
"sweet_spot_percent": 22.1,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 52.9,
"exit_velocity_avg": 91.3,
"launch_angle_avg": -0.9,
"whiff_percent": 19.0,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.1854,
"regression_edge": -0.1143,
"xwoba_edge": -0.0286,
"xba_edge": 0.3429,
"xslg_edge": 0.0,
"barrel_edge": -0.1667,
"hard_hit_edge": 2.1714,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -1.8583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "800050",
"player_name": "Chase DeLauter",
"offense_factor": 1.0552,
"quality_score": 0.7362,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "800050",
"espn_id": 4619649,
"player_name": "Chase DeLauter",
"team": "CLE",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 60,
"gp_value": 117.0,
"gp_rank": "140",
"ab_value": 435.0,
"ab_rank": "104",
"r_value": 55.0,
"r_rank": "117",
"h_value": 128.0,
"h_rank": "50",
"avg_value": 0.2942528,
"avg_rank": 10.0,
"2b_value": 25.0,
"2b_rank": "47",
"3b_value": 3.0,
"3b_rank": "33",
"hr_value": 13.0,
"hr_rank": "134",
"rbi_value": 60.0,
"rbi_rank": "83",
"tb_value": 198.0,
"tb_rank": "565",
"bb_value": 50.0,
"bb_rank": "70",
"so_value": 73.0,
"so_rank": "194",
"sb_value": 9.0,
"sb_rank": "99",
"obp_value": 0.364754,
"obp_rank": "23",
"slg_value": 0.4551724,
"slg_rank": "44",
"ops_value": 0.8199264,
"ops_rank": 33.0,
"war_value": 2.99,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 442.0,
"k_percent": 15.0,
"bb_percent": 10.2,
"woba": 0.359,
"xwoba": 0.344,
"xba": 0.277,
"xslg": 0.425,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 12.1,
"whiff_percent": 15.5,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.9259,
"regression_edge": -0.4286,
"xwoba_edge": 1.2286,
"xba_edge": 1.1714,
"xslg_edge": 0.8286,
"barrel_edge": -0.0778,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.3083,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.047,
"quality_score": 0.6265,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663993",
"espn_id": 40538,
"player_name": "Nathaniel Lowe",
"team": "CLE",
"role": "batter",
"espn_rank": 256,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 256,
"gp_value": 106.0,
"gp_rank": "169",
"ab_value": 331.0,
"ab_rank": "189",
"r_value": 34.0,
"r_rank": "238",
"h_value": 84.0,
"h_rank": "175",
"avg_value": 0.2537764,
"avg_rank": null,
"2b_value": 21.0,
"2b_rank": "95",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 15.0,
"hr_rank": "108",
"rbi_value": 52.0,
"rbi_rank": "120",
"tb_value": 150.0,
"tb_rank": "820",
"bb_value": 33.0,
"bb_rank": "175",
"so_value": 89.0,
"so_rank": "138",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.3179347,
"obp_rank": "-",
"slg_value": 0.4531722,
"slg_rank": "-",
"ops_value": 0.7711069,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 304.0,
"k_percent": 24.2,
"bb_percent": 9.0,
"woba": 0.333,
"xwoba": 0.332,
"xba": 0.266,
"xslg": 0.434,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 14.3,
"whiff_percent": 21.6,
"swing_percent": 46.5
},
"components": {
"expected_quality": 0.7331,
"regression_edge": -0.0286,
"xwoba_edge": 0.8857,
"xba_edge": 0.8571,
"xslg_edge": 0.9571,
"barrel_edge": 0.4556,
"hard_hit_edge": 0.4286,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": 0.825,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 0.9779,
"quality_score": -0.2951,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683953",
"espn_id": 5007707,
"player_name": "Travis Bazzana",
"team": "CLE",
"role": "batter",
"espn_rank": 147,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 147,
"gp_value": 103.0,
"gp_rank": "183",
"ab_value": 378.0,
"ab_rank": "141",
"r_value": 42.0,
"r_rank": "187",
"h_value": 89.0,
"h_rank": "154",
"avg_value": 0.2354497,
"avg_rank": 111.0,
"2b_value": 17.0,
"2b_rank": "152",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 42.0,
"rbi_rank": "177",
"tb_value": 137.0,
"tb_rank": "1043",
"bb_value": 49.0,
"bb_rank": "76",
"so_value": 94.0,
"so_rank": "126",
"sb_value": 18.0,
"sb_rank": "35",
"obp_value": 0.3272311,
"obp_rank": "80",
"slg_value": 0.3624338,
"slg_rank": "127",
"ops_value": 0.6896649,
"ops_rank": 120.0,
"war_value": 1.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 21.5,
"bb_percent": 11.2,
"woba": 0.309,
"xwoba": 0.295,
"xba": 0.223,
"xslg": 0.336,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 14.9,
"whiff_percent": 24.8,
"swing_percent": 44.5
},
"components": {
"expected_quality": -0.278,
"regression_edge": -0.4,
"xwoba_edge": -0.1714,
"xba_edge": -0.3714,
"xslg_edge": -0.4429,
"barrel_edge": -0.4778,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.6917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "595978",
"player_name": "Austin Hedges",
"offense_factor": 0.9568,
"quality_score": -0.5756,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "595978",
"espn_id": 32168,
"player_name": "Austin Hedges",
"team": "CLE",
"role": "batter",
"espn_rank": 232,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 232,
"gp_value": 67.0,
"gp_rank": "330",
"ab_value": 184.0,
"ab_rank": "325",
"r_value": 20.0,
"r_rank": "343",
"h_value": 47.0,
"h_rank": "300",
"avg_value": 0.2554347,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": "324",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 5.0,
"hr_rank": "297",
"rbi_value": 21.0,
"rbi_rank": "329",
"tb_value": 69.0,
"tb_rank": "2091",
"bb_value": 18.0,
"bb_rank": "300",
"so_value": 37.0,
"so_rank": "360",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3219512,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.6969512,
"ops_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 17.7,
"bb_percent": 8.6,
"woba": 0.31,
"xwoba": 0.275,
"xba": 0.226,
"xslg": 0.316,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 12.1,
"whiff_percent": 22.3,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.6247,
"regression_edge": -1.0,
"xwoba_edge": -0.7429,
"xba_edge": -0.2857,
"xslg_edge": -0.7286,
"barrel_edge": -0.4556,
"hard_hit_edge": -0.9,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -1.1917,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.978,
"quality_score": -0.2932,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677587",
"espn_id": 41217,
"player_name": "Brayan Rocchio",
"team": "CLE",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 112,
"gp_value": 132.0,
"gp_rank": "64",
"ab_value": 463.0,
"ab_rank": "84",
"r_value": 51.0,
"r_rank": "146",
"h_value": 114.0,
"h_rank": "86",
"avg_value": 0.2462203,
"avg_rank": 89.0,
"2b_value": 19.0,
"2b_rank": "125",
"3b_value": 2.0,
"3b_rank": "70",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 54.0,
"rbi_rank": "115",
"tb_value": 167.0,
"tb_rank": "689",
"bb_value": 32.0,
"bb_rank": "183",
"so_value": 74.0,
"so_rank": "193",
"sb_value": 16.0,
"sb_rank": "47",
"obp_value": 0.3051181,
"obp_rank": "116",
"slg_value": 0.3606911,
"slg_rank": "128",
"ops_value": 0.6658092,
"ops_rank": 132.0,
"war_value": 1.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 466.0,
"k_percent": 14.5,
"bb_percent": 6.3,
"woba": 0.296,
"xwoba": 0.291,
"xba": 0.244,
"xslg": 0.347,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 13.6,
"whiff_percent": 22.3,
"swing_percent": 50.3
},
"components": {
"expected_quality": -0.3177,
"regression_edge": -0.1429,
"xwoba_edge": -0.2857,
"xba_edge": 0.2286,
"xslg_edge": -0.2857,
"barrel_edge": -0.8111,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.2583,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9859,
"raw_average_factor": 0.9859,
"team_espn_average_rank": 301.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "660821",
"player_name": "Jesús Sánchez",
"offense_factor": 1.0517,
"quality_score": 0.6892,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660821",
"espn_id": 39957,
"player_name": "Jesus Sanchez",
"team": "TOR",
"role": "batter",
"espn_rank": 628,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 628,
"gp_value": 95.0,
"gp_rank": "214",
"ab_value": 260.0,
"ab_rank": "249",
"r_value": 24.0,
"r_rank": "311",
"h_value": 68.0,
"h_rank": "226",
"avg_value": 0.2615384,
"avg_rank": null,
"2b_value": 18.0,
"2b_rank": "137",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 34.0,
"rbi_rank": "234",
"tb_value": 110.0,
"tb_rank": "1593",
"bb_value": 17.0,
"bb_rank": "311",
"so_value": 67.0,
"so_rank": "226",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3206896,
"obp_rank": "-",
"slg_value": 0.4230769,
"slg_rank": "-",
"ops_value": 0.7437665,
"ops_rank": null,
"war_value": -0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 268.0,
"k_percent": 23.1,
"bb_percent": 5.9,
"woba": 0.324,
"xwoba": 0.329,
"xba": 0.26,
"xslg": 0.433,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 10.9,
"whiff_percent": 27.8,
"swing_percent": 52.8
},
"components": {
"expected_quality": 0.7782,
"regression_edge": 0.1429,
"xwoba_edge": 0.8,
"xba_edge": 0.6857,
"xslg_edge": 0.9429,
"barrel_edge": 1.0111,
"hard_hit_edge": 1.1857,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -0.1583,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "815873",
"player_name": "Sean Keys",
"offense_factor": 0.9686,
"quality_score": -0.4183,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "815873",
"espn_id": 5128241,
"player_name": "Sean Keys",
"team": "TOR",
"role": "batter",
"espn_rank": 508,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 508,
"gp_value": 13.0,
"gp_rank": "553",
"ab_value": 37.0,
"ab_rank": "530",
"r_value": 6.0,
"r_rank": "489",
"h_value": 7.0,
"h_rank": "529",
"avg_value": 0.1891891,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": "510",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 1.0,
"hr_rank": "457",
"rbi_value": 5.0,
"rbi_rank": "502",
"tb_value": 11.0,
"tb_rank": "2986",
"bb_value": 1.0,
"bb_rank": "554",
"so_value": 13.0,
"so_rank": "515",
"sb_value": 0.0,
"sb_rank": "429",
"obp_value": 0.2105263,
"obp_rank": "-",
"slg_value": 0.2972972,
"slg_rank": "-",
"ops_value": 0.5078235,
"ops_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 36.0,
"k_percent": 34.2,
"bb_percent": 2.6,
"woba": 0.223,
"xwoba": 0.214,
"xba": 0.18,
"xslg": 0.288,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 62.5,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 22.3,
"whiff_percent": 32.9,
"swing_percent": 49.4
},
"components": {
"expected_quality": -1.0391,
"regression_edge": -0.2571,
"xwoba_edge": -2.4857,
"xba_edge": -1.6,
"xslg_edge": -1.1286,
"barrel_edge": -0.5444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": 0.0083,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "669701",
"player_name": "Josh Smith",
"offense_factor": 0.977,
"quality_score": -0.3064,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669701",
"espn_id": 42884,
"player_name": "Josh Smith",
"team": "TOR",
"role": "batter",
"espn_rank": 476,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 476,
"gp_value": 60.0,
"gp_rank": "353",
"ab_value": 166.0,
"ab_rank": "350",
"r_value": 17.0,
"r_rank": "372",
"h_value": 37.0,
"h_rank": "348",
"avg_value": 0.2228915,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": "439",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 4.0,
"hr_rank": "327",
"rbi_value": 12.0,
"rbi_rank": "394",
"tb_value": 54.0,
"tb_rank": "2034",
"bb_value": 19.0,
"bb_rank": "288",
"so_value": 40.0,
"so_rank": "344",
"sb_value": 4.0,
"sb_rank": "195",
"obp_value": 0.3048128,
"obp_rank": "-",
"slg_value": 0.3253012,
"slg_rank": "-",
"ops_value": 0.630114,
"ops_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 21.2,
"bb_percent": 10.1,
"woba": 0.283,
"xwoba": 0.283,
"xba": 0.212,
"xslg": 0.337,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 29.5,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 14.3,
"whiff_percent": 24.8,
"swing_percent": 48.3
},
"components": {
"expected_quality": -0.4259,
"regression_edge": 0.0,
"xwoba_edge": -0.5143,
"xba_edge": -0.6857,
"xslg_edge": -0.4286,
"barrel_edge": 0.2556,
"hard_hit_edge": -1.1714,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 0.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "664770",
"player_name": "Nathan Lukes",
"offense_factor": 0.9634,
"quality_score": -0.4876,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664770",
"espn_id": 35682,
"player_name": "Nathan Lukes",
"team": "TOR",
"role": "batter",
"espn_rank": 155,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 155,
"gp_value": 104.0,
"gp_rank": "179",
"ab_value": 338.0,
"ab_rank": "181",
"r_value": 38.0,
"r_rank": "209",
"h_value": 89.0,
"h_rank": "154",
"avg_value": 0.2633136,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": "251",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 10.0,
"hr_rank": "170",
"rbi_value": 33.0,
"rbi_rank": "242",
"tb_value": 130.0,
"tb_rank": "1491",
"bb_value": 21.0,
"bb_rank": "266",
"so_value": 57.0,
"so_rank": "271",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3160762,
"obp_rank": "-",
"slg_value": 0.3846153,
"slg_rank": "-",
"ops_value": 0.7006915,
"ops_rank": null,
"war_value": 1.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 327.0,
"k_percent": 15.3,
"bb_percent": 5.6,
"woba": 0.311,
"xwoba": 0.287,
"xba": 0.251,
"xslg": 0.339,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 8.7,
"whiff_percent": 17.2,
"swing_percent": 49.9
},
"components": {
"expected_quality": -0.4553,
"regression_edge": -0.6857,
"xwoba_edge": -0.4,
"xba_edge": 0.4286,
"xslg_edge": -0.4,
"barrel_edge": -0.9444,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.6417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"offense_factor": 1.0505,
"quality_score": 0.6734,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665489",
"espn_id": 35002,
"player_name": "Vladimir Guerrero Jr.",
"team": "TOR",
"role": "batter",
"espn_rank": 210,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 210,
"gp_value": 125.0,
"gp_rank": "102",
"ab_value": 470.0,
"ab_rank": "79",
"r_value": 64.0,
"r_rank": "82",
"h_value": 123.0,
"h_rank": "72",
"avg_value": 0.2617021,
"avg_rank": 60.0,
"2b_value": 22.0,
"2b_rank": "85",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 53.0,
"rbi_rank": "117",
"tb_value": 169.0,
"tb_rank": "1387",
"bb_value": 49.0,
"bb_rank": "76",
"so_value": 66.0,
"so_rank": "228",
"sb_value": 7.0,
"sb_rank": "131",
"obp_value": 0.3333333,
"obp_rank": "69",
"slg_value": 0.3595744,
"slg_rank": "129",
"ops_value": 0.6929077,
"ops_rank": 118.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 474.0,
"k_percent": 12.5,
"bb_percent": 9.3,
"woba": 0.307,
"xwoba": 0.333,
"xba": 0.283,
"xslg": 0.402,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 9.2,
"whiff_percent": 19.1,
"swing_percent": 47.3
},
"components": {
"expected_quality": 0.6621,
"regression_edge": 0.7429,
"xwoba_edge": 0.9143,
"xba_edge": 1.3429,
"xslg_edge": 0.5,
"barrel_edge": 0.0333,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.725,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "703520",
"player_name": "Brett Bateman",
"offense_factor": 0.9623,
"quality_score": -0.502,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "703520",
"espn_id": 5134494,
"player_name": "Brett Bateman",
"team": "TOR",
"role": "batter",
"espn_rank": 207,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 207,
"gp_value": 21.0,
"gp_rank": "505",
"ab_value": 86.0,
"ab_rank": "440",
"r_value": 13.0,
"r_rank": "408",
"h_value": 27.0,
"h_rank": "390",
"avg_value": 0.3139534,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": "402",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 0.0,
"hr_rank": "528",
"rbi_value": 7.0,
"rbi_rank": "469",
"tb_value": 33.0,
"tb_rank": "2642",
"bb_value": 8.0,
"bb_rank": "415",
"so_value": 21.0,
"so_rank": "466",
"sb_value": 3.0,
"sb_rank": "227",
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.3837209,
"slg_rank": "-",
"ops_value": 0.7521419,
"ops_rank": null,
"war_value": 0.97,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 50.0,
"k_percent": 21.6,
"bb_percent": 8.2,
"woba": 0.335,
"xwoba": 0.271,
"xba": 0.236,
"xslg": 0.285,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.2,
"exit_velocity_avg": 83.2,
"launch_angle_avg": 0.8,
"whiff_percent": 17.3,
"swing_percent": 42.4
},
"components": {
"expected_quality": -0.9996,
"regression_edge": -1.8286,
"xwoba_edge": -0.8571,
"xba_edge": 0.0,
"xslg_edge": -1.1714,
"barrel_edge": -1.4778,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.12,
"sweet_spot_edge": -0.1417,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "665926",
"player_name": "Andrés Giménez",
"offense_factor": 0.9437,
"quality_score": -0.7504,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665926",
"espn_id": 37729,
"player_name": "Andres Gimenez",
"team": "TOR",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 212,
"gp_value": 130.0,
"gp_rank": "78",
"ab_value": 407.0,
"ab_rank": "121",
"r_value": 35.0,
"r_rank": "228",
"h_value": 99.0,
"h_rank": "127",
"avg_value": 0.2432432,
"avg_rank": 96.0,
"2b_value": 20.0,
"2b_rank": "111",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 52.0,
"rbi_rank": "120",
"tb_value": 145.0,
"tb_rank": "1158",
"bb_value": 14.0,
"bb_rank": "342",
"so_value": 86.0,
"so_rank": "147",
"sb_value": 19.0,
"sb_rank": "30",
"obp_value": 0.2886363,
"obp_rank": "138",
"slg_value": 0.3562653,
"slg_rank": "134",
"ops_value": 0.6449016,
"ops_rank": 137.0,
"war_value": 0.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 409.0,
"k_percent": 19.5,
"bb_percent": 3.2,
"woba": 0.283,
"xwoba": 0.268,
"xba": 0.23,
"xslg": 0.324,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 12.9,
"whiff_percent": 24.8,
"swing_percent": 57.9
},
"components": {
"expected_quality": -0.8028,
"regression_edge": -0.4286,
"xwoba_edge": -0.9429,
"xba_edge": -0.1714,
"xslg_edge": -0.6143,
"barrel_edge": -0.7222,
"hard_hit_edge": -1.8143,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.5583,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "676391",
"player_name": "Ernie Clement",
"offense_factor": 0.9376,
"quality_score": -0.8317,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676391",
"espn_id": 41287,
"player_name": "Ernie Clement",
"team": "TOR",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 151,
"gp_value": 136.0,
"gp_rank": "28",
"ab_value": 517.0,
"ab_rank": "28",
"r_value": 55.0,
"r_rank": "117",
"h_value": 142.0,
"h_rank": "17",
"avg_value": 0.2746615,
"avg_rank": 34.0,
"2b_value": 29.0,
"2b_rank": "13",
"3b_value": 1.0,
"3b_rank": "133",
"hr_value": 9.0,
"hr_rank": "199",
"rbi_value": 43.0,
"rbi_rank": "174",
"tb_value": 200.0,
"tb_rank": "893",
"bb_value": 19.0,
"bb_rank": "288",
"so_value": 53.0,
"so_rank": "278",
"sb_value": 6.0,
"sb_rank": "151",
"obp_value": 0.3001841,
"obp_rank": "123",
"slg_value": 0.3868471,
"slg_rank": "108",
"ops_value": 0.6870312,
"ops_rank": 123.0,
"war_value": 1.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 493.0,
"k_percent": 9.8,
"bb_percent": 3.5,
"woba": 0.3,
"xwoba": 0.266,
"xba": 0.249,
"xslg": 0.328,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 20.3,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 16.8,
"whiff_percent": 15.8,
"swing_percent": 57.8
},
"components": {
"expected_quality": -0.8089,
"regression_edge": -0.9714,
"xwoba_edge": -1.0,
"xba_edge": 0.3714,
"xslg_edge": -0.5571,
"barrel_edge": -1.0111,
"hard_hit_edge": -2.4857,
"exit_velocity_edge": -1.72,
"sweet_spot_edge": 0.0083,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "678218",
"player_name": "Brandon Valenzuela",
"offense_factor": 1.0184,
"quality_score": 0.2454,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678218",
"espn_id": 4918248,
"player_name": "Brandon Valenzuela",
"team": "TOR",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 658,
"metrics": {
"espn_rank": 169,
"gp_value": 80.0,
"gp_rank": "283",
"ab_value": 214.0,
"ab_rank": "291",
"r_value": 25.0,
"r_rank": "299",
"h_value": 48.0,
"h_rank": "294",
"avg_value": 0.224299,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": "285",
"3b_value": 0.0,
"3b_rank": "288",
"hr_value": 8.0,
"hr_rank": "218",
"rbi_value": 21.0,
"rbi_rank": "329",
"tb_value": 81.0,
"tb_rank": "1809",
"bb_value": 24.0,
"bb_rank": "236",
"so_value": 63.0,
"so_rank": "241",
"sb_value": 1.0,
"sb_rank": "328",
"obp_value": 0.3041666,
"obp_rank": "-",
"slg_value": 0.3785046,
"slg_rank": "-",
"ops_value": 0.6826712,
"ops_rank": null,
"war_value": 1.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 26.1,
"bb_percent": 10.0,
"woba": 0.304,
"xwoba": 0.313,
"xba": 0.242,
"xslg": 0.384,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 15.5,
"whiff_percent": 25.6,
"swing_percent": 49.9
},
"components": {
"expected_quality": 0.2435,
"regression_edge": 0.2571,
"xwoba_edge": 0.3429,
"xba_edge": 0.1714,
"xslg_edge": 0.2429,
"barrel_edge": 0.1222,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.9917,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | True | 32 | -0.0398 | 1 | 1.0034 | 1.0383 | 1.0300 | 1.0295 | negative_pitcher_regression | 0.3250 | 0.2940 | 23.70 | 10.60 | 30.10 | 7.90 | 39 | |
| Home CLE | True | 60 | -0.1648 | 1 | 1.0140 | 0.9771 | 0.9560 | 1.0331 | neutral | 0.3190 | 0.3050 | 19.30 | 6.90 | 23.80 | 8.10 | 39.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | True | None | 90 | 92.62 | 2057 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1542 | |
| Home CLE | True | None | 97 | 87.63 | 2307 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1252 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0143 |
| home_runs_vs_away_pitcher | 1.0056 |
| home_pitcher_starter_only_factor | 1.0140 |
| away_pitcher_starter_only_factor | 1.0034 |
| home_pitcher_workload_share | 0.6667 |
| away_pitcher_workload_share | 0.6296 |
| home_pitcher_quality_edge | -0.0848 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676440",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 582.0,
"k_percent": 19.3,
"bb_percent": 6.9,
"woba": 0.305,
"xwoba": 0.319,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 39.9,
"avg_best_speed": 78.9158,
"avg_hyper_speed": 94.0339,
"whiff_percent": 23.8,
"swing_percent": 47.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1459,
"command_and_miss": -0.1271,
"regression_edge": -0.4,
"xwoba_edge": -0.2286,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.3,
"whiff_edge": -0.2,
"bb_edge": 0.55,
"pitch_design_score": -0.1252
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676440",
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.6329,
"release_spin_rate": 2307.0596,
"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.1252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8941,
"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.1648,
"sample_weight": 1.0,
"run_prevention_factor": 1.014,
"strikeout_factor": 0.9771,
"walk_factor": 0.956,
"homer_factor": 1.0331,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676440",
"espn_id": 4345278,
"player_name": "Tanner Bibee",
"team": "CLE",
"role": "pitcher",
"espn_rank": 60,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 60,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 28.0,
"gs_rank": 6,
"qs_value": 17.0,
"qs_rank": 5,
"era_value": 3.8809,
"era_rank": 30.0,
"w_value": 5.0,
"w_rank": 136,
"l_value": 14.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 162.1,
"ip_rank": 9,
"h_value": 142.0,
"h_rank": 22,
"er_value": 70.0,
"er_rank": 21,
"hr_value": 26.0,
"hr_rank": 8,
"bb_value": 46.0,
"bb_rank": 46,
"k_value": 128.0,
"k_rank": 50,
"k_per_9_value": 7.0965095,
"k_per_9_rank": 150,
"whip_value": 1.1581,
"whip_rank": 23.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "667755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 572.0,
"k_percent": 23.7,
"bb_percent": 10.6,
"woba": 0.294,
"xwoba": 0.325,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 39.0,
"avg_best_speed": 77.7583,
"avg_hyper_speed": 94.244,
"whiff_percent": 30.1,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.0676,
"command_and_miss": 0.2857,
"regression_edge": -0.8857,
"xwoba_edge": -0.4,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.1714,
"whiff_edge": 0.7,
"bb_edge": -0.375,
"pitch_design_score": 0.1542
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667755",
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6225,
"release_spin_rate": 2056.6826,
"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.1542,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1018,
"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.0398,
"sample_weight": 1.0,
"run_prevention_factor": 1.0034,
"strikeout_factor": 1.0383,
"walk_factor": 1.03,
"homer_factor": 1.0295,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "667755",
"espn_id": 40973,
"player_name": "Jose Soriano",
"team": "TOR",
"role": "pitcher",
"espn_rank": 32,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 32,
"gp_value": 27.0,
"gp_rank": 251,
"gs_value": 27.0,
"gs_rank": 19,
"qs_value": 10.0,
"qs_rank": 54,
"era_value": 3.4493,
"era_rank": 24.0,
"w_value": 11.0,
"w_rank": 20,
"l_value": 7.0,
"l_rank": 79,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 151.1,
"ip_rank": 29,
"h_value": 126.0,
"h_rank": 59,
"er_value": 58.0,
"er_rank": 63,
"hr_value": 14.0,
"hr_rank": 101,
"bb_value": 67.0,
"bb_rank": 6,
"k_value": 149.0,
"k_rank": 26,
"k_per_9_value": 8.861233,
"k_per_9_rank": 24,
"whip_value": 1.2753,
"whip_rank": 36.0,
"war_value": 3.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0143,
"home_runs_vs_away_pitcher": 1.0056,
"home_pitcher_starter_only_factor": 1.014,
"away_pitcher_starter_only_factor": 1.0034,
"home_pitcher_workload_share": 0.6667,
"away_pitcher_workload_share": 0.6296,
"home_pitcher_quality_edge": -0.0848
},
"score_before": {
"away_runs": 4.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 4.0571,
"home_runs": 3.0169,
"home_win_probability": 0.4101
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away TOR | 6-4 | 0.600 | 4.60 | 3.90 | 7 | 1W | average | average |
| Home CLE | 7-3 | 0.700 | 4.70 | 4 | 7 | 1L | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TOR | 69-71 | 0.493 | -44 | -0.314 | True |
| Home CLE | 70-69 | 0.504 | -8 | -0.058 | True |
| Signal | - | - | 0.257 | 0.214 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-09-02 | TOR @ CLE | 11 - 0 | TOR | 11 | blowout |
| 2026-09-01 | TOR @ CLE | 1 - 6 | CLE | 5 | blowout |
| 2026-04-26 | CLE @ TOR | 2 - 4 | TOR | 2 | close |
| 2026-04-25 | CLE @ TOR | 3 - 5 | TOR | 2 | close |
| 2026-04-24 | CLE @ TOR | 8 - 6 | CLE | 2 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TOR | - | - | 4 | - | - | - | - |
| Game target CLE | - | - | 3 | - | - | - | - |
| Player finalized TOR | 33 | 8 | 4 | 1 | 4 | 2 | 7 |
| Player finalized CLE | 35 | 8 | 4 | 1 | 4 | 3 | 6 |
| Player model fractional TOR | 31.72 | 7.59 | 3.52 | 0.73 | 3.52 | 2.06 | 6.55 |
| Player model fractional CLE | 32.77 | 7.71 | 3.84 | 0.84 | 3.72 | 2.98 | 6.16 |
| Simulation box TOR | 43 | 11 | 4 | 0 | 4 | 2 | 9 |
| Simulation box CLE | 40 | 7 | 3 | 0 | 3 | 5 | 12 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away TOR | Starter | José Soriano | 6 | 0 | 10 | 3 | 2 | 3.93 | 1.30 | True |
| Away TOR | Closer | Louis Varland | 1.10 | 0 | 0 | 0 | 0 | 1.78 | 1.02 | True |
| Away TOR | Setup Man | Michael Lorenzen | 1 | 3 | 1 | 4 | 2 | 8.62 | 2.07 | True |
| Away TOR | Middle Reliever (High Leverage) | Tyler Rogers | 0.20 | 0 | 1 | 0 | 0 | 4.25 | 1.54 | True |
| Away TOR | Middle Reliever (High Leverage) | Spencer Miles | 0 | 0 | 0 | 0 | 0 | 1.47 | 0.96 | True |
| Home CLE | Starter | Tanner Bibee | 6 | 3 | 9 | 7 | 1 | 4.19 | 1.22 | True |
| Home CLE | Closer | Cade Smith | 1 | 0 | 0 | 0 | 1 | 3.25 | 1.12 | True |
| Home CLE | Middle Reliever (High Leverage) | Erik Sabrowski | 1 | 0 | 0 | 1 | 0 | 2.07 | 1.04 | True |
| Home CLE | Setup Man | Hunter Gaddis | 1 | 0 | 0 | 0 | 0 | 2.13 | 1.00 | True |
| Home CLE | Middle Reliever (High Leverage) | Colin Holderman | 0 | 1 | 0 | 2 | 0 | 4.81 | 1.53 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CLE | batter | 2B | Travis Bazzana | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 3.0890 | boost | worse |
| home | CLE | batter | CF | Steven Kwan | better | 9 | 6 | 3 | 7 | 2 | predicted_H | 3.0240 | boost | better |
| home | CLE | batter | DH | José Ramírez | better | 10 | 7 | 3 | 6 | 4 | predicted_SO | 2.4310 | boost | worse |
| away | TOR | batter | LF | Jesús Sánchez | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 2.2340 | boost | better |
| home | CLE | batter | C | Austin Hedges | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 2.0790 | boost | better |
| away | TOR | pitcher | Starter | José Soriano | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 2.0000 | boost | better |
| away | TOR | batter | RF | Nathan Lukes | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.8700 | boost | better |
| home | CLE | batter | RF | Chase DeLauter | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -1.5600 | deboost | worse |
| away | TOR | batter | 3B | Josh Smith | better | 11 | 8 | 3 | 7 | 4 | predicted_SO | 1.2980 | boost | worse |
| away | TOR | batter | C | Brandon Valenzuela | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.1000 | boost | worse |
| away | TOR | pitcher | Middle Reliever (High Leverage) | Spencer Miles | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.1000 | boost | better |
| away | TOR | batter | CF | Brett Bateman | better | 8 | 5 | 3 | 5 | 3 | predicted_AB | 1.0100 | boost | better |
| away | TOR | batter | DH | Sean Keys | better | 11 | 5 | 6 | 6 | 5 | predicted_BB | 1.0000 | boost | better |
| home | CLE | pitcher | Starter | Tanner Bibee | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | CLE | pitcher | Middle Reliever (High Leverage) | Colin Holderman | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | CLE | batter | LF | Jo Adell | worse | 9 | 4 | 5 | 4 | 5 | predicted_H | -0.9120 | deboost | worse |
| away | TOR | batter | 2B | Ernie Clement | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.8700 | boost | better |
| home | CLE | batter | 1B | Nathaniel Lowe | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.8700 | deboost | better |
| home | CLE | batter | 3B | Angel Genao | worse | 11 | 4 | 7 | 3 | 8 | predicted_BB | 0.7730 | boost | better |
| home | CLE | batter | SS | Brayan Rocchio | worse | 10 | 5 | 5 | 4 | 6 | predicted_BB | 0.7670 | boost | better |
| away | TOR | batter | 1B | Vladimir Guerrero Jr. | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | 0.7200 | boost | better |
| away | TOR | batter | SS | Andrés Giménez | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.6990 | deboost | better |
| home | CLE | pitcher | Setup Man | Hunter Gaddis | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | TOR | pitcher | Closer | Louis Varland | 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 | José Soriano |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0398 |
| ESPN Rank | 32 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1542 |
| Avg Velo | 92.6225 |
| Avg Spin | 2056.6826 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 10 |
| Season ERA | 3.4493 |
| Season WHIP | 1.2753 |
| Role Avg IP | 5.6050 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"opponent": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"edges": {
"quality_edge": -0.0755,
"offense_edge": -0.1107,
"opponent_offense_edge": -0.0995,
"defense_strength": 0.0426,
"opponent_defense_weakness": -0.0949,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9836,
"strikeout": 1.0057
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "667755",
"profile": {
"available": true,
"pitcher_id": "667755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 572.0,
"k_percent": 23.7,
"bb_percent": 10.6,
"woba": 0.294,
"xwoba": 0.325,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 39.0,
"avg_best_speed": 77.7583,
"avg_hyper_speed": 94.244,
"whiff_percent": 30.1,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.0676,
"command_and_miss": 0.2857,
"regression_edge": -0.8857,
"xwoba_edge": -0.4,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.1714,
"whiff_edge": 0.7,
"bb_edge": -0.375,
"pitch_design_score": 0.1542
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667755",
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6225,
"release_spin_rate": 2056.6826,
"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.1542,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1018,
"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.0398,
"sample_weight": 1.0,
"run_prevention_factor": 1.0034,
"strikeout_factor": 1.0383,
"walk_factor": 1.03,
"homer_factor": 1.0295,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "667755",
"espn_id": 40973,
"player_name": "Jose Soriano",
"team": "TOR",
"role": "pitcher",
"espn_rank": 32,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 32,
"gp_value": 27.0,
"gp_rank": 251,
"gs_value": 27.0,
"gs_rank": 19,
"qs_value": 10.0,
"qs_rank": 54,
"era_value": 3.4493,
"era_rank": 24.0,
"w_value": 11.0,
"w_rank": 20,
"l_value": 7.0,
"l_rank": 79,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 151.1,
"ip_rank": 29,
"h_value": 126.0,
"h_rank": 59,
"er_value": 58.0,
"er_rank": 63,
"hr_value": 14.0,
"hr_rank": 101,
"bb_value": 67.0,
"bb_rank": 6,
"k_value": 149.0,
"k_rank": 26,
"k_per_9_value": 8.861233,
"k_per_9_rank": 24,
"whip_value": 1.2753,
"whip_rank": 36.0,
"war_value": 3.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0034,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0034,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.03,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0295,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0383,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 56.1,
"ER": 23,
"H": 49,
"BB": 19,
"SO": 47,
"HR": 2,
"ERA": 3.6745562130177514,
"WHIP": 1.2071005917159763,
"K9": 7.50887573964497,
"HR9": 0.3195266272189349,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "667755",
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.62248350722385,
"release_spin_rate": 2056.682557815389,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6225,
"release_spin_rate": 2056.6826,
"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.1542,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1018,
"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": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "667755",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 13.0,
"R": 14.0,
"H": 29.0,
"BB": 10.0,
"SO": 22.0,
"HR": 2.0,
"BF": 119.0,
"Pitches": 469.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6,
"R": 2.8,
"H": 5.8,
"BB": 2.0,
"SO": 4.4,
"HR": 0.4,
"BF": 23.8,
"Pitches": 93.8
},
"rates": {
"ERA": 4.1294,
"WHIP": 1.3765,
"ER_per_IP": 0.45882,
"H_per_IP": 1.02353,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.77647,
"HR_per_IP": 0.07059
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.1,
"ER": 23.0,
"R": 25.0,
"H": 49.0,
"BB": 19.0,
"SO": 47.0,
"HR": 2.0,
"BF": 229.0,
"Pitches": 910.0
},
"per_game": {
"IP": 5.2,
"ER": 2.3,
"R": 2.5,
"H": 4.9,
"BB": 1.9,
"SO": 4.7,
"HR": 0.2,
"BF": 22.9,
"Pitches": 91.0
},
"rates": {
"ERA": 3.6746,
"WHIP": 1.2071,
"ER_per_IP": 0.40828,
"H_per_IP": 0.86982,
"BB_per_IP": 0.33728,
"SO_per_IP": 0.83432,
"HR_per_IP": 0.0355
}
},
"season": {
"games": 27,
"totals": {
"IP": 151.1,
"ER": 58.0,
"R": 63.0,
"H": 126.0,
"BB": 67.0,
"SO": 149.0,
"HR": 14.0,
"BF": 630.0,
"Pitches": 2511.0
},
"per_game": {
"IP": 5.2,
"ER": 2.1481,
"R": 2.3333,
"H": 4.6667,
"BB": 2.4815,
"SO": 5.5185,
"HR": 0.5185,
"BF": 23.3333,
"Pitches": 93.0
},
"rates": {
"ERA": 3.4493,
"WHIP": 1.2753,
"ER_per_IP": 0.38326,
"H_per_IP": 0.8326,
"BB_per_IP": 0.44273,
"SO_per_IP": 0.98458,
"HR_per_IP": 0.09251
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.5,
"predicted_H": 5.364,
"predicted_BB": 2.094,
"predicted_SO": 4.884,
"predicted_HR": 0.433,
"predicted_ERA": 3.9348,
"predicted_WHIP": 1.3043
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.416,
"form_weight": 0.584,
"form_reliability": 0.8438,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.5,
"final": 1.46,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.364,
"final": 4.3806,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.094,
"final": 2.0549,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 4.884,
"final": 6.1802,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.433,
"final": 0.2529,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9348,
"final": 3.9348,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3043,
"final": 1.3043,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Louis Varland |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.0887 |
| ESPN Rank | 27 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2106 |
| Avg Velo | 93.6287 |
| Avg Spin | 2261.5408 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.1796 |
| Season WHIP | 0.9757 |
| Role Avg IP | 1.1080 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"opponent": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"edges": {
"quality_edge": -0.0755,
"offense_edge": -0.1107,
"opponent_offense_edge": -0.0995,
"defense_strength": 0.0426,
"opponent_defense_weakness": -0.0949,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9836,
"strikeout": 1.0057
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686973",
"profile": {
"available": true,
"pitcher_id": "686973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 31.5,
"bb_percent": 6.7,
"woba": 0.229,
"xwoba": 0.23,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.682,
"avg_hyper_speed": 93.3938,
"whiff_percent": 29.4,
"swing_percent": 52.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.5437,
"command_and_miss": 0.9471,
"regression_edge": -0.0286,
"xwoba_edge": 2.3143,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.6,
"bb_edge": 0.6,
"pitch_design_score": 0.2106
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.62867057402154,
"release_spin_rate": 2261.540778270711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.62867057402154,
"release_spin_rate": 2261.540778270711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6287,
"release_spin_rate": 2261.5408,
"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.2106,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5042,
"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.0887,
"sample_weight": 0.968,
"run_prevention_factor": 0.9075,
"strikeout_factor": 1.0763,
"walk_factor": 0.9535,
"homer_factor": 0.875,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686973",
"espn_id": 4917888,
"player_name": "Louis Varland",
"team": "TOR",
"role": "pitcher",
"espn_rank": 27,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 27,
"gp_value": 62.0,
"gp_rank": 19,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.1796,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 31.0,
"sv_rank": 5,
"hld_value": 5.0,
"hld_rank": 163,
"ip_value": 68.2,
"ip_rank": 180,
"h_value": 49.0,
"h_rank": 237,
"er_value": 9.0,
"er_rank": 545,
"hr_value": 2.0,
"hr_rank": 508,
"bb_value": 18.0,
"bb_rank": 318,
"k_value": 84.0,
"k_rank": 135,
"k_per_9_value": 11.009708,
"k_per_9_rank": 20,
"whip_value": 0.9757,
"whip_rank": null,
"war_value": 3.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9105,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9105,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.879,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0739,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 2,
"H": 7,
"BB": 2,
"SO": 10,
"HR": 1,
"ERA": 1.6363636363636365,
"WHIP": 0.8181818181818182,
"K9": 8.181818181818182,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "686973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.62867057402154,
"release_spin_rate": 2261.540778270711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 93.62867057402154,
"release_spin_rate": 2261.540778270711,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6287,
"release_spin_rate": 2261.5408,
"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.2106,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5042,
"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.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7341,
"prior_weight": 0.2659
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "686973",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 62,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.6,
"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.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 10.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.7,
"BB": 0.2,
"SO": 1.0,
"HR": 0.1,
"BF": 4.2,
"Pitches": 15.9
},
"rates": {
"ERA": 1.6364,
"WHIP": 0.8182,
"ER_per_IP": 0.18182,
"H_per_IP": 0.63636,
"BB_per_IP": 0.18182,
"SO_per_IP": 0.90909,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 62,
"totals": {
"IP": 68.2,
"ER": 9.0,
"R": 18.0,
"H": 49.0,
"BB": 18.0,
"SO": 84.0,
"HR": 2.0,
"BF": 267.0,
"Pitches": 1077.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1452,
"R": 0.2903,
"H": 0.7903,
"BB": 0.2903,
"SO": 1.3548,
"HR": 0.0323,
"BF": 4.3065,
"Pitches": 17.371
},
"rates": {
"ERA": 1.1796,
"WHIP": 0.9757,
"ER_per_IP": 0.13107,
"H_per_IP": 0.71359,
"BB_per_IP": 0.26214,
"SO_per_IP": 1.2233,
"HR_per_IP": 0.02913
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.198,
"predicted_H": 0.775,
"predicted_BB": 0.246,
"predicted_SO": 1.158,
"predicted_HR": 0.067,
"predicted_ERA": 1.7844,
"predicted_WHIP": 1.0204
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4623,
"form_weight": 0.5377,
"form_reliability": 0.7341,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7341,
"prior_weight": 0.2659
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.198,
"final": 0.1065,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.775,
"final": 0.4167,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.246,
"final": 0.1323,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.158,
"final": 0.6226,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.036,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7844,
"final": 1.7844,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0204,
"final": 1.0204,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Michael Lorenzen |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.8634 |
| ESPN Rank | 851 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0702 |
| Avg Velo | 88.6142 |
| Avg Spin | 2355.1125 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 7.1292 |
| Season WHIP | 1.8792 |
| Role Avg IP | 1.3330 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"opponent": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"edges": {
"quality_edge": -0.0755,
"offense_edge": -0.1107,
"opponent_offense_edge": -0.0995,
"defense_strength": 0.0426,
"opponent_defense_weakness": -0.0949,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9836,
"strikeout": 1.0057
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "547179",
"profile": {
"available": true,
"pitcher_id": "547179",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 560.0,
"k_percent": 14.6,
"bb_percent": 8.7,
"woba": 0.403,
"xwoba": 0.371,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 46.2,
"avg_best_speed": 80.8232,
"avg_hyper_speed": 95.3279,
"whiff_percent": 18.0,
"swing_percent": 44.3
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -1.3193,
"command_and_miss": -0.8093,
"regression_edge": 0.9143,
"xwoba_edge": -1.7143,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.2,
"whiff_edge": -1.0286,
"bb_edge": 0.1,
"pitch_design_score": -0.0702
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547179",
"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": 88.61422330679588,
"release_spin_rate": 2355.1124699028824,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.61422330679588,
"release_spin_rate": 2355.1124699028824,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6142,
"release_spin_rate": 2355.1125,
"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.0702,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5015,
"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.8634,
"sample_weight": 1.0,
"run_prevention_factor": 1.0734,
"strikeout_factor": 0.9171,
"walk_factor": 0.992,
"homer_factor": 1.1332,
"woba_minus_xwoba": 0.032,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "547179",
"espn_id": 33252,
"player_name": "Michael Lorenzen",
"team": "TOR",
"role": "pitcher",
"espn_rank": 851,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 851,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 25.0,
"gs_rank": 54,
"qs_value": 2.0,
"qs_rank": 154,
"era_value": 7.1292,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 11.0,
"l_rank": 9,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 118.2,
"ip_rank": 91,
"h_value": 173.0,
"h_rank": 2,
"er_value": 94.0,
"er_rank": 1,
"hr_value": 20.0,
"hr_rank": 29,
"bb_value": 50.0,
"bb_rank": 30,
"k_value": 84.0,
"k_rank": 135,
"k_per_9_value": 6.370786,
"k_per_9_rank": 40,
"whip_value": 1.8792,
"whip_rank": null,
"war_value": -1.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0734,
"adjusted": 1
},
"predicted_H": {
"original": 2.0,
"factor": 1.0734,
"adjusted": 2
},
"predicted_BB": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.1332,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9171,
"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": 37.0,
"ER": 32,
"H": 53,
"BB": 24,
"SO": 18,
"HR": 7,
"ERA": 7.783783783783784,
"WHIP": 2.081081081081081,
"K9": 4.378378378378378,
"HR9": 1.7027027027027026,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "547179",
"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": 88.61422330679588,
"release_spin_rate": 2355.1124699028824,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.61422330679588,
"release_spin_rate": 2355.1124699028824,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6142,
"release_spin_rate": 2355.1125,
"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.0702,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5015,
"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": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "547179",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.0,
"ER": 18.0,
"R": 20.0,
"H": 24.0,
"BB": 10.0,
"SO": 4.0,
"HR": 4.0,
"BF": 75.0,
"Pitches": 316.0
},
"per_game": {
"IP": 2.2,
"ER": 3.6,
"R": 4.0,
"H": 4.8,
"BB": 2.0,
"SO": 0.8,
"HR": 0.8,
"BF": 15.0,
"Pitches": 63.2
},
"rates": {
"ERA": 11.5714,
"WHIP": 2.4286,
"ER_per_IP": 1.28571,
"H_per_IP": 1.71429,
"BB_per_IP": 0.71429,
"SO_per_IP": 0.28571,
"HR_per_IP": 0.28571
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 37.0,
"ER": 32.0,
"R": 37.0,
"H": 53.0,
"BB": 24.0,
"SO": 18.0,
"HR": 7.0,
"BF": 186.0,
"Pitches": 758.0
},
"per_game": {
"IP": 3.2,
"ER": 3.2,
"R": 3.7,
"H": 5.3,
"BB": 2.4,
"SO": 1.8,
"HR": 0.7,
"BF": 18.6,
"Pitches": 75.8
},
"rates": {
"ERA": 7.7838,
"WHIP": 2.0811,
"ER_per_IP": 0.86486,
"H_per_IP": 1.43243,
"BB_per_IP": 0.64865,
"SO_per_IP": 0.48649,
"HR_per_IP": 0.18919
}
},
"season": {
"games": 28,
"totals": {
"IP": 118.2,
"ER": 94.0,
"R": 105.0,
"H": 173.0,
"BB": 50.0,
"SO": 84.0,
"HR": 20.0,
"BF": 577.0,
"Pitches": 2250.0
},
"per_game": {
"IP": 4.1,
"ER": 3.3571,
"R": 3.75,
"H": 6.1786,
"BB": 1.7857,
"SO": 3.0,
"HR": 0.7143,
"BF": 20.6071,
"Pitches": 80.3571
},
"rates": {
"ERA": 7.1292,
"WHIP": 1.8792,
"ER_per_IP": 0.79213,
"H_per_IP": 1.45787,
"BB_per_IP": 0.42135,
"SO_per_IP": 0.70787,
"HR_per_IP": 0.16854
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 2.867,
"predicted_H": 4.415,
"predicted_BB": 1.775,
"predicted_SO": 1.545,
"predicted_HR": 0.647,
"predicted_ERA": 8.6181,
"predicted_WHIP": 2.0678
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 3.0,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.867,
"final": 2.9221,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.415,
"final": 4.2432,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.775,
"final": 1.8682,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.545,
"final": 1.3194,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.647,
"final": 0.3791,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.6181,
"final": 8.6181,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 2.0678,
"final": 2.0678,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Rogers |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4779 |
| ESPN Rank | 122 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 81.1083 |
| Avg Spin | 2077.2309 |
| 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 | 1.8973 |
| Season WHIP | 1.2000 |
| Role Avg IP | 0.9640 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"opponent": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"edges": {
"quality_edge": -0.0755,
"offense_edge": -0.1107,
"opponent_offense_edge": -0.0995,
"defense_strength": 0.0426,
"opponent_defense_weakness": -0.0949,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9836,
"strikeout": 1.0057
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643511",
"profile": {
"available": true,
"pitcher_id": "643511",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 228.0,
"k_percent": 13.6,
"bb_percent": 8.1,
"woba": 0.253,
"xwoba": 0.258,
"sweet_spot_percent": 22.6,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 27.6,
"avg_best_speed": 71.9559,
"avg_hyper_speed": 92.4887,
"whiff_percent": 15.0,
"swing_percent": 50.1
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 1.4626,
"command_and_miss": -0.9936,
"regression_edge": -0.1429,
"xwoba_edge": 1.5143,
"barrel_edge": 1.2889,
"hard_hit_edge": 1.4571,
"whiff_edge": -1.4571,
"bb_edge": 0.25,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "643511",
"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": 81.10833174634831,
"release_spin_rate": 2077.230939693582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.10833174634831,
"release_spin_rate": 2077.230939693582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.1083,
"release_spin_rate": 2077.2309,
"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.4779,
"sample_weight": 0.912,
"run_prevention_factor": 0.9594,
"strikeout_factor": 0.9036,
"walk_factor": 0.9818,
"homer_factor": 0.8114,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643511",
"espn_id": 34026,
"player_name": "Tyler Rogers",
"team": "TOR",
"role": "pitcher",
"espn_rank": 122,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 122,
"gp_value": 64.0,
"gp_rank": 12,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 1.8972,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 4.0,
"sv_rank": 52,
"hld_value": 29.0,
"hld_rank": 2,
"ip_value": 61.2,
"ip_rank": 204,
"h_value": 53.0,
"h_rank": 217,
"er_value": 13.0,
"er_rank": 451,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 35.0,
"k_rank": 372,
"k_per_9_value": 5.108108,
"k_per_9_rank": 49,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 1.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.963,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.963,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9834,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.828,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9121,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 3,
"H": 11,
"BB": 4,
"SO": 8,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 1.5517241379310345,
"K9": 7.448275862068966,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "643511",
"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": 81.10833174634831,
"release_spin_rate": 2077.230939693582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.10833174634831,
"release_spin_rate": 2077.230939693582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.1083,
"release_spin_rate": 2077.2309,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.395,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7126,
"prior_weight": 0.2874
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "643511",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 64,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 14.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.8462,
"ER_per_IP": 0.69231,
"H_per_IP": 1.61538,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.4,
"SO": 0.8,
"HR": 0.1,
"BF": 4.4,
"Pitches": 15.0
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.5517,
"ER_per_IP": 0.31034,
"H_per_IP": 1.13793,
"BB_per_IP": 0.41379,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 64,
"totals": {
"IP": 61.2,
"ER": 13.0,
"R": 21.0,
"H": 53.0,
"BB": 21.0,
"SO": 35.0,
"HR": 1.0,
"BF": 258.0,
"Pitches": 893.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2031,
"R": 0.3281,
"H": 0.8281,
"BB": 0.3281,
"SO": 0.5469,
"HR": 0.0156,
"BF": 4.0312,
"Pitches": 13.9531
},
"rates": {
"ERA": 1.8973,
"WHIP": 1.2,
"ER_per_IP": 0.21081,
"H_per_IP": 0.85946,
"BB_per_IP": 0.34054,
"SO_per_IP": 0.56757,
"HR_per_IP": 0.01622
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.472,
"predicted_H": 1.204,
"predicted_BB": 0.332,
"predicted_SO": 1.001,
"predicted_HR": 0.144,
"predicted_ERA": 4.2521,
"predicted_WHIP": 1.5362
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4714,
"form_weight": 0.5286,
"form_reliability": 0.7126,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.395,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7126,
"prior_weight": 0.2874
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.472,
"final": 0.2495,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.204,
"final": 0.6364,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.332,
"final": 0.1755,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.001,
"final": 1.0005,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0761,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2521,
"final": 4.2521,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5362,
"final": 1.5362,
"source": "form_only"
}
}
}{
"available": false,
"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 | Spencer Miles |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4855 |
| ESPN Rank | 68 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0645 |
| Avg Velo | 91.0199 |
| Avg Spin | 2457.7211 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.8814 |
| Season WHIP | 1.0909 |
| Role Avg IP | 1.8200 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"opponent": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"edges": {
"quality_edge": -0.0755,
"offense_edge": -0.1107,
"opponent_offense_edge": -0.0995,
"defense_strength": 0.0426,
"opponent_defense_weakness": -0.0949,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9836,
"strikeout": 1.0057
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693686",
"profile": {
"available": true,
"pitcher_id": "693686",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 317.0,
"k_percent": 22.6,
"bb_percent": 6.2,
"woba": 0.26,
"xwoba": 0.27,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 34.9,
"avg_best_speed": 75.6619,
"avg_hyper_speed": 92.9882,
"whiff_percent": 18.3,
"swing_percent": 47.9
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.9807,
"command_and_miss": -0.155,
"regression_edge": -0.2857,
"xwoba_edge": 1.1714,
"barrel_edge": 0.8,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.9857,
"bb_edge": 0.725,
"pitch_design_score": 0.0645
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693686",
"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": 91.01993422348478,
"release_spin_rate": 2457.7211257707427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.01993422348478,
"release_spin_rate": 2457.7211257707427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0199,
"release_spin_rate": 2457.7211,
"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.0645,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4607,
"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.4855,
"sample_weight": 1.0,
"run_prevention_factor": 0.9587,
"strikeout_factor": 0.9646,
"walk_factor": 0.942,
"homer_factor": 0.8843,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693686",
"espn_id": 4833671,
"player_name": "Spencer Miles",
"team": "TOR",
"role": "pitcher",
"espn_rank": 68,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 68,
"gp_value": 43.0,
"gp_rank": 141,
"gs_value": 6.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.8814,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 4.0,
"hld_rank": 186,
"ip_value": 84.1,
"ip_rank": 146,
"h_value": 71.0,
"h_rank": 155,
"er_value": 27.0,
"er_rank": 205,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 77.0,
"k_rank": 151,
"k_per_9_value": 8.217392,
"k_per_9_rank": 27,
"whip_value": 1.0909,
"whip_rank": null,
"war_value": 2.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9587,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9587,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.942,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8843,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9646,
"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": 0,
"H": 7,
"BB": 1,
"SO": 6,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8275862068965516,
"K9": 5.586206896551723,
"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-09-01T00:00:00"
}{
"available": true,
"pitcher_id": "693686",
"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": 91.01993422348478,
"release_spin_rate": 2457.7211257707427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.01993422348478,
"release_spin_rate": 2457.7211257707427,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0199,
"release_spin_rate": 2457.7211,
"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.0645,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4607,
"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": 16.951,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7722,
"prior_weight": 0.2278
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "693686",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.5625,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.1,
"SO": 0.6,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8276,
"ER_per_IP": 0.0,
"H_per_IP": 0.72414,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.62069,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 84.1,
"ER": 27.0,
"R": 29.0,
"H": 71.0,
"BB": 21.0,
"SO": 77.0,
"HR": 5.0,
"BF": 340.0,
"Pitches": 1310.0
},
"per_game": {
"IP": 2.0,
"ER": 0.6279,
"R": 0.6744,
"H": 1.6512,
"BB": 0.4884,
"SO": 1.7907,
"HR": 0.1163,
"BF": 7.907,
"Pitches": 30.4651
},
"rates": {
"ERA": 2.8814,
"WHIP": 1.0909,
"ER_per_IP": 0.32016,
"H_per_IP": 0.8419,
"BB_per_IP": 0.24901,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.05929
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.163,
"predicted_H": 0.745,
"predicted_BB": 0.217,
"predicted_SO": 0.785,
"predicted_HR": 0.043,
"predicted_ERA": 1.4651,
"predicted_WHIP": 0.9588
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4462,
"form_weight": 0.5538,
"form_reliability": 0.7722,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.951,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7722,
"prior_weight": 0.2278
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.163,
"final": 0.0903,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.745,
"final": 0.4125,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.217,
"final": 0.1202,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.785,
"final": 0.4347,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.043,
"final": 0.0238,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.4651,
"final": 1.4651,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9588,
"final": 0.9588,
"source": "form_only"
}
}
}{
"available": false,
"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.191 | 0.000 | 1.000 | Hitting_2B | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.766 | 5.000 | 3.000 | Hitting_AB | 3.197 | 1.000 | 1.803 | 4.000 |
| predicted_AVG | 0.262 | 0.200 | 0.333 | Hitting_AVG | 0.263 | 0.000 | -0.063 | 0.200 |
| predicted_BB | 0.181 | 0.000 | 0.000 | Hitting_BB | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.723 | 1.000 | 1.000 | Hitting_H | 0.842 | 0.000 | 0.158 | 1.000 |
| predicted_HR | 0.085 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.307 | 0.200 | 0.333 | Hitting_OBP | 0.323 | 0.000 | -0.123 | 0.200 |
| predicted_R | 0.255 | 0.000 | 0.000 | Hitting_R | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_RBI | 0.362 | 0.000 | 0.000 | Hitting_RBI | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SLG | 0.423 | 0.200 | 0.667 | Hitting_SLG | 0.437 | 0.000 | -0.237 | 0.200 |
| predicted_SO | 0.713 | 1.000 | 1.000 | Hitting_SO | 0.821 | 0.000 | 0.179 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.7660 -> 5.0000 (boost 2.2340, better) |
| Biggest Deboost | predicted_RBI: 0.3620 -> 0.0000 (deboost -0.3620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_OBP: 0.3070 -> 0.3181 (boost 0.0111, better) | predicted_AB: 2.7660 -> 2.6591 (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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3181 -> 0.2995 (deboost -0.0186, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 2.6591 -> 3.0000 (boost 0.3409, better) | predicted_RBI: 0.3037 -> 0.0000 (deboost -0.3037, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.243 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2375 -> 0.0000 (deboost -0.2375, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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 | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2430 -> 0.2529 (boost 0.0099, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660821",
"player_name": "Jesús Sánchez",
"position": "LF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.191,
"predicted_3B": 0.0,
"predicted_AB": 2.766,
"predicted_AVG": 0.262,
"predicted_BB": 0.181,
"predicted_H": 0.723,
"predicted_HR": 0.085,
"predicted_OBP": 0.307,
"predicted_R": 0.255,
"predicted_RBI": 0.362,
"predicted_SLG": 0.423,
"predicted_SO": 0.713
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2079,
"predicted_3B": 0.0004,
"predicted_AB": 2.6591,
"predicted_AVG": 0.2595,
"predicted_BB": 0.178,
"predicted_H": 0.6896,
"predicted_HBP": 0.147,
"predicted_HR": 0.0702,
"predicted_OBP": 0.3181,
"predicted_R": 0.2474,
"predicted_RBI": 0.3164,
"predicted_SLG": 0.417,
"predicted_SO": 0.7079
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.2079,
"delta": 0.0169,
"percent_delta": 0.0885,
"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.766,
"after": 2.6591,
"delta": -0.1069,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2595,
"delta": -0.0025,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.178,
"delta": -0.003,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.723,
"after": 0.6896,
"delta": -0.0334,
"percent_delta": -0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.085,
"after": 0.0702,
"delta": -0.0148,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3181,
"delta": 0.0111,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.255,
"after": 0.2474,
"delta": -0.0076,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.362,
"after": 0.3164,
"delta": -0.0456,
"percent_delta": -0.126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.417,
"delta": -0.006,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 0.7079,
"delta": -0.0051,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_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.307,
"after": 0.3181,
"delta": 0.0111,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.766,
"after": 2.6591,
"delta": -0.1069,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 94
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2079,
"predicted_3B": 0.0004,
"predicted_AB": 2.6591,
"predicted_AVG": 0.2529,
"predicted_BB": 0.1768,
"predicted_H": 0.6726,
"predicted_HBP": 0.147,
"predicted_HR": 0.0683,
"predicted_OBP": 0.2995,
"predicted_R": 0.2375,
"predicted_RBI": 0.3037,
"predicted_SLG": 0.4085,
"predicted_SO": 0.7126
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2079,
"after": 0.2079,
"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.6591,
"after": 2.6591,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.2529,
"delta": -0.0066,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.178,
"after": 0.1768,
"delta": -0.0012,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6896,
"after": 0.6726,
"delta": -0.017,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.147,
"after": 0.147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0702,
"after": 0.0683,
"delta": -0.0019,
"percent_delta": -0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3181,
"after": 0.2995,
"delta": -0.0186,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2474,
"after": 0.2375,
"delta": -0.0099,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3164,
"after": 0.3037,
"delta": -0.0127,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4085,
"delta": -0.0085,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7079,
"after": 0.7126,
"delta": 0.0047,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3181,
"after": 0.2995,
"delta": -0.0186,
"percent_delta": -0.0585,
"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.243 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2079,
"after": 0.0,
"delta": -0.2079,
"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.6591,
"after": 3.0,
"delta": 0.3409,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1768,
"after": 0.0,
"delta": -0.1768,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6726,
"after": 1.0,
"delta": 0.3274,
"percent_delta": 0.4868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.3037,
"after": 0.0,
"delta": -0.3037,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7126,
"after": 1.0,
"delta": 0.2874,
"percent_delta": 0.4033,
"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": 2.6591,
"after": 3.0,
"delta": 0.3409,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3037,
"after": 0.0,
"delta": -0.3037,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2375,
"after": 0.0,
"delta": -0.2375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2375,
"after": 0.0,
"delta": -0.2375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.4,
"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.2529,
"after": 0.243,
"delta": -0.0099,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2995,
"after": 0.294,
"delta": -0.0055,
"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_SLG",
"before": 0.4085,
"after": 0.4,
"delta": -0.0085,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2995,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4085,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.243,
"after": 0.2529,
"delta": 0.0099,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2995,
"delta": 0.0055,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4085,
"delta": 0.0085,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.243,
"after": 0.2529,
"delta": 0.0099,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.766,
"after": 5.0,
"delta": 2.234,
"percent_delta": 0.8077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2529,
"delta": -0.0091,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.723,
"after": 1.0,
"delta": 0.277,
"percent_delta": 0.3831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2995,
"delta": -0.0075,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4085,
"delta": -0.0145,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 1.0,
"delta": 0.287,
"percent_delta": 0.4025,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.766,
"after": 5.0,
"delta": 2.234,
"percent_delta": 0.8077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.766 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.181 | - |
| predicted_H | 0.723 | - |
| predicted_HR | 0.085 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.255 | - |
| predicted_RBI | 0.362 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.713 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.659 | -0.107 |
| predicted_AVG | 0.260 | -0.003 |
| predicted_BB | 0.178 | -0.003 |
| predicted_H | 0.690 | -0.033 |
| predicted_HBP | 0.147 | - |
| predicted_HR | 0.070 | -0.015 |
| predicted_OBP | 0.318 | 0.011 |
| predicted_R | 0.247 | -0.008 |
| predicted_RBI | 0.316 | -0.046 |
| predicted_SLG | 0.417 | -0.006 |
| predicted_SO | 0.708 | -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.208 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.659 | 0.000 |
| predicted_AVG | 0.253 | -0.007 |
| predicted_BB | 0.177 | -0.001 |
| predicted_H | 0.673 | -0.017 |
| predicted_HBP | 0.147 | 0.000 |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.299 | -0.019 |
| predicted_R | 0.237 | -0.010 |
| predicted_RBI | 0.304 | -0.013 |
| predicted_SLG | 0.408 | -0.009 |
| predicted_SO | 0.713 | 0.005 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.243 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.208 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.341 |
| predicted_AVG | 0.243 | -0.010 |
| predicted_BB | 0.000 | -0.177 |
| predicted_H | 1.000 | 0.327 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.294 | -0.006 |
| predicted_R | 0.000 | -0.237 |
| predicted_RBI | 0.000 | -0.304 |
| predicted_SLG | 0.400 | -0.008 |
| predicted_SO | 1.000 | 0.287 |
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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 8.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 0.2500 | 0.3333 | 0.3750 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 20.000 | 5.000 | 3.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 8.000 | 0.2500 | 0.3846 | 0.4000 | 0.2500 | 0.0000 | 0.1000 | 0.1500 | 0.4000 |
| season | 0.60 | 94 | - | 260.000 | 68.000 | 18.000 | 0.000 | 8.000 | 34.000 | 24.000 | 17.000 | 67.000 | 0.2615 | 0.3207 | 0.4231 | 0.2615 | 0.0308 | 0.1308 | 0.0654 | 0.2577 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2310 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.5130 |
| predicted_AVG | 0.2561 |
| predicted_BB | 0.1740 |
| predicted_H | 0.6440 |
| predicted_HBP | 0.1470 |
| predicted_HR | 0.0500 |
| predicted_OBP | 0.3332 |
| predicted_R | 0.2370 |
| predicted_RBI | 0.2540 |
| predicted_SLG | 0.4087 |
| predicted_SO | 0.7010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.2310 | 0.2079 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.7660 | 2.5130 | 2.6591 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2561 | 0.2595 | model_form_blend |
| predicted_BB | 0.1810 | 0.1740 | 0.1780 | model_form_blend |
| predicted_H | 0.7230 | 0.6440 | 0.6896 | model_form_blend |
| predicted_HBP | - | 0.1470 | 0.1470 | form_only |
| predicted_HR | 0.0850 | 0.0500 | 0.0702 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3332 | 0.3181 | model_form_blend |
| predicted_R | 0.2550 | 0.2370 | 0.2474 | model_form_blend |
| predicted_RBI | 0.3620 | 0.2540 | 0.3164 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4087 | 0.4170 | model_form_blend |
| predicted_SO | 0.7130 | 0.7010 | 0.7079 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 279 |
| Season rows before report date | 279 |
| Report year | 2026 |
| Profile rows used | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 2 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260902_TOR@CLE |
| game_type | ph |
| mlbID | 660821 |
| note | Flied out for Springer in the 8th. |
| playerID | 660821 |
| playerName | Jesús Sánchez |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.324 |
| sl_xwoba | 0.329 |
| sl_xba | 0.26 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 52.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.083 | 0.000 | 0.000 | Hitting_2B | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.083 | 4.000 | 3.000 | Hitting_AB | 3.342 | 1.000 | 0.658 | 3.000 |
| predicted_AVG | 0.189 | 0.000 | 0.333 | Hitting_AVG | 0.197 | 1.000 | -0.197 | -1.000 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.026 | 0.000 | 0.974 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.583 | 0.000 | 1.000 | Hitting_H | 0.658 | 1.000 | -0.658 | -1.000 |
| predicted_HR | 0.083 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.189 | 0.200 | 0.333 | Hitting_OBP | 0.203 | 1.000 | -0.003 | -0.800 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.553 | 1.000 | -0.553 | -1.000 |
| predicted_RBI | 0.417 | 0.000 | 1.000 | Hitting_RBI | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_SLG | 0.297 | 0.000 | 0.333 | Hitting_SLG | 0.323 | 1.000 | -0.323 | -1.000 |
| predicted_SO | 1.083 | 1.000 | 1.000 | Hitting_SO | 1.184 | 0.000 | -0.184 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_H: 0.5830 -> 0.0000 (deboost -0.5830, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0830 -> 3.1554 (boost 0.0724, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3128 -> 0.3064 (deboost -0.0064, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.6180 -> 1.0000 (boost 0.3820, better) | predicted_RBI: 0.4134 -> 0.0000 (deboost -0.4134, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.196 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4882 -> 0.0000 (deboost -0.4882, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3064 -> 0.3130 (boost 0.0066, 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 | 3 | 2 | 1 | 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3130 -> 0.3064 (deboost -0.0066, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "815873",
"player_name": "Sean Keys",
"position": "DH",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.083,
"predicted_3B": 0.0,
"predicted_AB": 3.083,
"predicted_AVG": 0.189,
"predicted_BB": 0.0,
"predicted_H": 0.583,
"predicted_HR": 0.083,
"predicted_OBP": 0.189,
"predicted_R": 0.5,
"predicted_RBI": 0.417,
"predicted_SLG": 0.297,
"predicted_SO": 1.083
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0923,
"predicted_3B": 0.0019,
"predicted_AB": 3.1554,
"predicted_AVG": 0.2002,
"predicted_BB": 0.0332,
"predicted_H": 0.6337,
"predicted_HBP": 0.013,
"predicted_HR": 0.0865,
"predicted_OBP": 0.2085,
"predicted_R": 0.5086,
"predicted_RBI": 0.4307,
"predicted_SLG": 0.3128,
"predicted_SO": 1.0351
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.083,
"after": 0.0923,
"delta": 0.0093,
"percent_delta": 0.112,
"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.083,
"after": 3.1554,
"delta": 0.0724,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.2002,
"delta": 0.0112,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0332,
"delta": 0.0332,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.583,
"after": 0.6337,
"delta": 0.0507,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0865,
"delta": 0.0035,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.189,
"after": 0.2085,
"delta": 0.0195,
"percent_delta": 0.1032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5086,
"delta": 0.0086,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.417,
"after": 0.4307,
"delta": 0.0137,
"percent_delta": 0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.3128,
"delta": 0.0158,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.083,
"after": 1.0351,
"delta": -0.0479,
"percent_delta": -0.0442,
"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.083,
"after": 3.1554,
"delta": 0.0724,
"percent_delta": 0.0235,
"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": 12
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0923,
"predicted_3B": 0.0019,
"predicted_AB": 3.1554,
"predicted_AVG": 0.1959,
"predicted_BB": 0.033,
"predicted_H": 0.618,
"predicted_HBP": 0.013,
"predicted_HR": 0.0842,
"predicted_OBP": 0.2042,
"predicted_R": 0.4882,
"predicted_RBI": 0.4134,
"predicted_SLG": 0.3064,
"predicted_SO": 1.042
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0923,
"after": 0.0923,
"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.1554,
"after": 3.1554,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2002,
"after": 0.1959,
"delta": -0.0043,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0332,
"after": 0.033,
"delta": -0.0002,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6337,
"after": 0.618,
"delta": -0.0157,
"percent_delta": -0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0865,
"after": 0.0842,
"delta": -0.0023,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2085,
"after": 0.2042,
"delta": -0.0043,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5086,
"after": 0.4882,
"delta": -0.0204,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4307,
"after": 0.4134,
"delta": -0.0173,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3128,
"after": 0.3064,
"delta": -0.0064,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0351,
"after": 1.042,
"delta": 0.0069,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3128,
"after": 0.3064,
"delta": -0.0064,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.196 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0923,
"after": 0.0,
"delta": -0.0923,
"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.1554,
"after": 3.0,
"delta": -0.1554,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0842,
"after": 0.0,
"delta": -0.0842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.042,
"after": 1.0,
"delta": -0.042,
"percent_delta": -0.0403,
"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.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4882,
"after": 0.0,
"delta": -0.4882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4882,
"after": 0.0,
"delta": -0.4882,
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.196,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.209,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.313,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1959,
"after": 0.196,
"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.2042,
"after": 0.209,
"delta": 0.0048,
"percent_delta": 0.0235,
"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.3064,
"after": 0.313,
"delta": 0.0066,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3064,
"after": 0.313,
"delta": 0.0066,
"percent_delta": 0.0215,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.1959,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2042,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3064,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.196,
"after": 0.1959,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.209,
"after": 0.2042,
"delta": -0.0048,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3064,
"delta": -0.0066,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.313,
"after": 0.3064,
"delta": -0.0066,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.083,
"after": 4.0,
"delta": 0.917,
"percent_delta": 0.2974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.1959,
"delta": 0.0069,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.189,
"after": 0.2042,
"delta": 0.0152,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.3064,
"delta": 0.0094,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.083,
"after": 1.0,
"delta": -0.083,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"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.083 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.083 | - |
| predicted_AVG | 0.189 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.583 | - |
| predicted_HR | 0.083 | - |
| predicted_OBP | 0.189 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.417 | - |
| predicted_SLG | 0.297 | - |
| predicted_SO | 1.083 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | 0.009 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.155 | 0.072 |
| predicted_AVG | 0.200 | 0.011 |
| predicted_BB | 0.033 | 0.033 |
| predicted_H | 0.634 | 0.051 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.086 | 0.003 |
| predicted_OBP | 0.208 | 0.019 |
| predicted_R | 0.509 | 0.009 |
| predicted_RBI | 0.431 | 0.014 |
| predicted_SLG | 0.313 | 0.016 |
| predicted_SO | 1.035 | -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.092 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.155 | 0.000 |
| predicted_AVG | 0.196 | -0.004 |
| predicted_BB | 0.033 | -0.000 |
| predicted_H | 0.618 | -0.016 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.204 | -0.004 |
| predicted_R | 0.488 | -0.020 |
| predicted_RBI | 0.413 | -0.017 |
| predicted_SLG | 0.306 | -0.006 |
| predicted_SO | 1.042 | 0.007 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.196 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 | 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.092 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.155 |
| predicted_AVG | 0.196 | 0.000 |
| predicted_BB | 0.000 | -0.033 |
| predicted_H | 1.000 | 0.382 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.209 | 0.005 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.313 | 0.007 |
| predicted_SO | 1.000 | -0.042 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.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 | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 3.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.1667 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 0.000 | 10.000 | 0.2069 | 0.2069 | 0.3448 | 0.2069 | 0.0345 | 0.1724 | 0.0000 | 0.3448 |
| season | 0.60 | 12 | - | 37.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 6.000 | 0.000 | 13.000 | 0.1892 | 0.1892 | 0.2973 | 0.1892 | 0.0270 | 0.1351 | 0.0000 | 0.3513 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.3100 |
| predicted_AVG | 0.2242 |
| predicted_BB | 0.1040 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2500 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.4600 |
| predicted_SLG | 0.3466 |
| predicted_SO | 0.9330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0830 | 0.1120 | 0.0923 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 3.0830 | 3.3100 | 3.1554 | model_form_blend |
| predicted_AVG | 0.1890 | 0.2242 | 0.2002 | model_form_blend |
| predicted_BB | 0.0000 | 0.1040 | 0.0332 | model_form_blend |
| predicted_H | 0.5830 | 0.7420 | 0.6337 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0830 | 0.0940 | 0.0865 | model_form_blend |
| predicted_OBP | 0.1890 | 0.2500 | 0.2085 | model_form_blend |
| predicted_R | 0.5000 | 0.5270 | 0.5086 | model_form_blend |
| predicted_RBI | 0.4170 | 0.4600 | 0.4307 | model_form_blend |
| predicted_SLG | 0.2970 | 0.3466 | 0.3128 | model_form_blend |
| predicted_SO | 1.0830 | 0.9330 | 1.0351 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 12 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_TOR@CLE |
| game_type | short |
| mlbID | 815873 |
| playerID | 815873 |
| playerName | Sean Keys |
| pos | 3B |
| started | False |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 2.6 |
| sl_woba | 0.223 |
| sl_xwoba | 0.214 |
| sl_xba | 0.18 |
| sl_xslg | 0.288 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 62.5 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 22.3 |
| sl_whiff_percent | 32.9 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.053 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.912 | 4.000 | 3.000 | Hitting_AB | 2.667 | 2.000 | 1.333 | 2.000 |
| predicted_AVG | 0.223 | 0.250 | 0.333 | Hitting_AVG | 0.312 | 0.500 | -0.062 | -0.250 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.306 | 0.000 | 0.694 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.649 | 1.000 | 1.000 | Hitting_H | 0.833 | 1.000 | 0.167 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.278 | 1.000 | -0.278 | -1.000 |
| predicted_OBP | 0.303 | 0.400 | 0.333 | Hitting_OBP | 0.383 | 0.500 | 0.017 | -0.100 |
| predicted_R | 0.281 | 1.000 | 0.000 | Hitting_R | 0.778 | 1.000 | 0.222 | 0.000 |
| predicted_RBI | 0.211 | 0.000 | 0.000 | Hitting_RBI | 0.417 | 1.000 | -0.417 | -1.000 |
| predicted_SLG | 0.325 | 0.250 | 0.333 | Hitting_SLG | 0.625 | 2.000 | -0.375 | -1.750 |
| predicted_SO | 0.702 | 2.000 | 1.000 | Hitting_SO | 1.028 | 0.000 | 0.972 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.7020 -> 2.0000 (boost 1.2980, worse) |
| Biggest Deboost | predicted_RBI: 0.2110 -> 0.0000 (deboost -0.2110, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_R: 0.2810 -> 0.3969 (boost 0.1159, 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.3927 -> 0.3828 (deboost -0.0099, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.6757 -> 1.0000 (boost 0.3243, better) | predicted_BB: 0.3170 -> 0.0000 (deboost -0.3170, worse) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.232 HR/AB=0.040 |
| 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.3810 -> 0.0000 (deboost -0.3810, 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.3828 -> 0.3640 (deboost -0.0188, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3640 -> 0.3828 (boost 0.0188, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669701",
"player_name": "Josh Smith",
"position": "3B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.053,
"predicted_3B": 0.018,
"predicted_AB": 2.912,
"predicted_AVG": 0.223,
"predicted_BB": 0.333,
"predicted_H": 0.649,
"predicted_HR": 0.07,
"predicted_OBP": 0.303,
"predicted_R": 0.281,
"predicted_RBI": 0.211,
"predicted_SLG": 0.325,
"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.0497,
"predicted_3B": 0.0147,
"predicted_AB": 2.8903,
"predicted_AVG": 0.24,
"predicted_BB": 0.3191,
"predicted_H": 0.6928,
"predicted_HBP": 0.012,
"predicted_HR": 0.1204,
"predicted_OBP": 0.3167,
"predicted_R": 0.3969,
"predicted_RBI": 0.2728,
"predicted_SLG": 0.3927,
"predicted_SO": 0.7225
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0497,
"delta": -0.0033,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0147,
"delta": -0.0033,
"percent_delta": -0.1833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.912,
"after": 2.8903,
"delta": -0.0217,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.24,
"delta": 0.017,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3191,
"delta": -0.0139,
"percent_delta": -0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.649,
"after": 0.6928,
"delta": 0.0438,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1204,
"delta": 0.0504,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3167,
"delta": 0.0137,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 0.3969,
"delta": 0.1159,
"percent_delta": 0.4125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.211,
"after": 0.2728,
"delta": 0.0618,
"percent_delta": 0.2929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3927,
"delta": 0.0677,
"percent_delta": 0.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 0.7225,
"delta": 0.0205,
"percent_delta": 0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.281,
"after": 0.3969,
"delta": 0.1159,
"percent_delta": 0.4125,
"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": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0497,
"predicted_3B": 0.0147,
"predicted_AB": 2.8903,
"predicted_AVG": 0.2338,
"predicted_BB": 0.317,
"predicted_H": 0.6757,
"predicted_HBP": 0.012,
"predicted_HR": 0.1172,
"predicted_OBP": 0.3095,
"predicted_R": 0.381,
"predicted_RBI": 0.2619,
"predicted_SLG": 0.3828,
"predicted_SO": 0.7273
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0497,
"after": 0.0497,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0147,
"after": 0.0147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8903,
"after": 2.8903,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2338,
"delta": -0.0062,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3191,
"after": 0.317,
"delta": -0.0021,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6928,
"after": 0.6757,
"delta": -0.0171,
"percent_delta": -0.0247,
"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.1204,
"after": 0.1172,
"delta": -0.0032,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3167,
"after": 0.3095,
"delta": -0.0072,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3969,
"after": 0.381,
"delta": -0.0159,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2728,
"after": 0.2619,
"delta": -0.0109,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.3828,
"delta": -0.0099,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7225,
"after": 0.7273,
"delta": 0.0048,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3927,
"after": 0.3828,
"delta": -0.0099,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.91), rates preserved: AVG=0.232 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0497,
"after": 0.0,
"delta": -0.0497,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0147,
"after": 0.0,
"delta": -0.0147,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8903,
"after": 3.0,
"delta": 0.1097,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1172,
"after": 0.0,
"delta": -0.1172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2619,
"after": 0.0,
"delta": -0.2619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7273,
"after": 1.0,
"delta": 0.2727,
"percent_delta": 0.3749,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"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.225,
"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.364,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2338,
"after": 0.225,
"delta": -0.0088,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3095,
"after": 0.302,
"delta": -0.0075,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3828,
"after": 0.364,
"delta": -0.0188,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3828,
"after": 0.364,
"delta": -0.0188,
"percent_delta": -0.0491,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 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.2338,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3095,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3828,
"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.225,
"after": 0.2338,
"delta": 0.0088,
"percent_delta": 0.039,
"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.3095,
"delta": 0.0075,
"percent_delta": 0.0248,
"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.364,
"after": 0.3828,
"delta": 0.0188,
"percent_delta": 0.0517,
"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.364,
"after": 0.3828,
"delta": 0.0188,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.912,
"after": 4.0,
"delta": 1.088,
"percent_delta": 0.3736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2338,
"delta": 0.0108,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.649,
"after": 1.0,
"delta": 0.351,
"percent_delta": 0.5408,
"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.303,
"after": 0.3095,
"delta": 0.0065,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.281,
"after": 1.0,
"delta": 0.719,
"percent_delta": 2.5587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3828,
"delta": 0.0578,
"percent_delta": 0.1778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 2.0,
"delta": 1.298,
"percent_delta": 1.849,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.702,
"after": 2.0,
"delta": 1.298,
"percent_delta": 1.849,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"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.053 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 2.912 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.649 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.281 | - |
| predicted_RBI | 0.211 | - |
| predicted_SLG | 0.325 | - |
| 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.050 | -0.003 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 2.890 | -0.022 |
| predicted_AVG | 0.240 | 0.017 |
| predicted_BB | 0.319 | -0.014 |
| predicted_H | 0.693 | 0.044 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.120 | 0.050 |
| predicted_OBP | 0.317 | 0.014 |
| predicted_R | 0.397 | 0.116 |
| predicted_RBI | 0.273 | 0.062 |
| predicted_SLG | 0.393 | 0.068 |
| predicted_SO | 0.723 | 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.050 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 2.890 | 0.000 |
| predicted_AVG | 0.234 | -0.006 |
| predicted_BB | 0.317 | -0.002 |
| predicted_H | 0.676 | -0.017 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.309 | -0.007 |
| predicted_R | 0.381 | -0.016 |
| predicted_RBI | 0.262 | -0.011 |
| predicted_SLG | 0.383 | -0.010 |
| predicted_SO | 0.727 | 0.005 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.232 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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.050 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | 0.110 |
| predicted_AVG | 0.225 | -0.009 |
| predicted_BB | 0.000 | -0.317 |
| predicted_H | 1.000 | 0.324 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.302 | -0.008 |
| predicted_R | 0.000 | -0.381 |
| predicted_RBI | 0.000 | -0.262 |
| predicted_SLG | 0.364 | -0.019 |
| predicted_SO | 1.000 | 0.273 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 12.000 | 4.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 1.000 | 3.000 | 0.3333 | 0.3846 | 0.8333 | 0.3333 | 0.1667 | 0.2500 | 0.0833 | 0.2500 |
| last_10 | 0.20 | 10 | - | 24.000 | 8.000 | 0.000 | 0.000 | 3.000 | 4.000 | 8.000 | 3.000 | 9.000 | 0.3333 | 0.4074 | 0.7083 | 0.3333 | 0.1250 | 0.1667 | 0.1250 | 0.3750 |
| season | 0.60 | 57 | - | 166.000 | 37.000 | 3.000 | 1.000 | 4.000 | 12.000 | 16.000 | 19.000 | 40.000 | 0.2229 | 0.3048 | 0.3253 | 0.2229 | 0.0241 | 0.0723 | 0.1145 | 0.2410 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0450 |
| predicted_3B | 0.0100 |
| predicted_AB | 2.8590 |
| predicted_AVG | 0.2644 |
| predicted_BB | 0.2990 |
| predicted_H | 0.7560 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1930 |
| predicted_OBP | 0.3364 |
| predicted_R | 0.5640 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.4902 |
| predicted_SO | 0.7520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0530 | 0.0450 | 0.0497 | model_form_blend |
| predicted_3B | 0.0180 | 0.0100 | 0.0147 | model_form_blend |
| predicted_AB | 2.9120 | 2.8590 | 2.8903 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2644 | 0.2400 | model_form_blend |
| predicted_BB | 0.3330 | 0.2990 | 0.3191 | model_form_blend |
| predicted_H | 0.6490 | 0.7560 | 0.6928 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0700 | 0.1930 | 0.1204 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3364 | 0.3167 | model_form_blend |
| predicted_R | 0.2810 | 0.5640 | 0.3969 | model_form_blend |
| predicted_RBI | 0.2110 | 0.3620 | 0.2728 | model_form_blend |
| predicted_SLG | 0.3250 | 0.4902 | 0.3927 | model_form_blend |
| predicted_SO | 0.7020 | 0.7520 | 0.7225 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260902_TOR@CLE |
| game_type | short |
| mlbID | 669701 |
| playerID | 669701 |
| playerName | Josh Smith |
| pos | 2B |
| started | False |
| startingPosition | 2B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.283 |
| sl_xwoba | 0.283 |
| sl_xba | 0.212 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 29.5 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.109 | 1.000 | 0.000 | Hitting_2B | 0.121 | 0.000 | 0.879 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.510 | 6.000 | 5.000 | Hitting_AB | 3.649 | 5.000 | 2.351 | 1.000 |
| predicted_AVG | 0.250 | 0.500 | 0.200 | Hitting_AVG | 0.269 | 0.400 | 0.231 | 0.100 |
| predicted_BB | 0.208 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 1.130 | 3.000 | 1.000 | Hitting_H | 0.983 | 2.000 | 2.017 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 1.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.306 | 0.500 | 0.200 | Hitting_OBP | 0.326 | 0.400 | 0.174 | 0.100 |
| predicted_R | 0.366 | 1.000 | 1.000 | Hitting_R | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_RBI | 0.530 | 2.000 | 1.000 | Hitting_RBI | 0.307 | 1.000 | 1.693 | 1.000 |
| predicted_SLG | 0.392 | 0.667 | 0.800 | Hitting_SLG | 0.373 | 0.400 | 0.293 | 0.267 |
| predicted_SO | 0.564 | 1.000 | 1.000 | Hitting_SO | 0.644 | 1.000 | 0.356 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.1300 -> 3.0000 (boost 1.8700, 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 | 5 | 3 | 2 | 3 | 2 | predicted_SLG: 0.3920 -> 0.4068 (boost 0.0148, better) | predicted_AB: 4.5100 -> 4.0273 (deboost -0.4827, worse) | Final model input calibrated with local 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.3135 -> 0.2859 (deboost -0.0276, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.0273 -> 5.0000 (boost 0.9727, better) | predicted_BB: 0.2070 -> 0.0000 (deboost -0.2070, worse) | AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3834 -> 0.0000 (deboost -0.3834, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | 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 |
| 9 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3550 -> 0.3839 (boost 0.0289, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664770",
"player_name": "Nathan Lukes",
"position": "RF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.109,
"predicted_3B": 0.0,
"predicted_AB": 4.51,
"predicted_AVG": 0.25,
"predicted_BB": 0.208,
"predicted_H": 1.13,
"predicted_HR": 0.15,
"predicted_OBP": 0.306,
"predicted_R": 0.366,
"predicted_RBI": 0.53,
"predicted_SLG": 0.392,
"predicted_SO": 0.564
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0936,
"predicted_3B": 0.0004,
"predicted_AB": 4.0273,
"predicted_AVG": 0.2561,
"predicted_BB": 0.2084,
"predicted_H": 1.029,
"predicted_HBP": 0.091,
"predicted_HR": 0.1534,
"predicted_OBP": 0.3135,
"predicted_R": 0.3994,
"predicted_RBI": 0.5,
"predicted_SLG": 0.4068,
"predicted_SO": 0.594
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.109,
"after": 0.0936,
"delta": -0.0154,
"percent_delta": -0.1413,
"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.51,
"after": 4.0273,
"delta": -0.4827,
"percent_delta": -0.107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2561,
"delta": 0.0061,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.2084,
"delta": 0.0004,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.029,
"delta": -0.101,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1534,
"delta": 0.0034,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3135,
"delta": 0.0075,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.366,
"after": 0.3994,
"delta": 0.0334,
"percent_delta": 0.0913,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5,
"delta": -0.03,
"percent_delta": -0.0566,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.4068,
"delta": 0.0148,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 0.594,
"delta": 0.03,
"percent_delta": 0.0532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.4068,
"delta": 0.0148,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.51,
"after": 4.0273,
"delta": -0.4827,
"percent_delta": -0.107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0936,
"predicted_3B": 0.0004,
"predicted_AB": 4.0273,
"predicted_AVG": 0.2492,
"predicted_BB": 0.207,
"predicted_H": 1.0036,
"predicted_HBP": 0.091,
"predicted_HR": 0.1493,
"predicted_OBP": 0.2859,
"predicted_R": 0.3834,
"predicted_RBI": 0.4799,
"predicted_SLG": 0.3839,
"predicted_SO": 0.598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0936,
"after": 0.0936,
"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.0273,
"after": 4.0273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2561,
"after": 0.2492,
"delta": -0.0069,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2084,
"after": 0.207,
"delta": -0.0014,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.029,
"after": 1.0036,
"delta": -0.0254,
"percent_delta": -0.0247,
"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.1534,
"after": 0.1493,
"delta": -0.0041,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3135,
"after": 0.2859,
"delta": -0.0276,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3994,
"after": 0.3834,
"delta": -0.016,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4799,
"delta": -0.0201,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4068,
"after": 0.3839,
"delta": -0.0229,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.594,
"after": 0.598,
"delta": 0.004,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3135,
"after": 0.2859,
"delta": -0.0276,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.033",
"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.0936,
"after": 0.0,
"delta": -0.0936,
"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.0273,
"after": 5.0,
"delta": 0.9727,
"percent_delta": 0.2415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0036,
"after": 1.0,
"delta": -0.0036,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1493,
"after": 0.0,
"delta": -0.1493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4799,
"after": 1.0,
"delta": 0.5201,
"percent_delta": 1.0838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.598,
"after": 1.0,
"delta": 0.402,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0273,
"after": 5.0,
"delta": 0.9727,
"percent_delta": 0.2415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 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.3834,
"after": 0.0,
"delta": -0.3834,
"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.3834,
"after": 0.0,
"delta": -0.3834,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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_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": 5.0,
"predicted_AVG": 0.233,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.355,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2492,
"after": 0.233,
"delta": -0.0162,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2859,
"after": 0.27,
"delta": -0.0159,
"percent_delta": -0.0556,
"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.3839,
"after": 0.355,
"delta": -0.0289,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 9,
"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": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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": 6.0,
"predicted_AVG": 0.2492,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2859,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3839,
"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": 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.233,
"after": 0.2492,
"delta": 0.0162,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2859,
"delta": 0.0159,
"percent_delta": 0.0589,
"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.355,
"after": 0.3839,
"delta": 0.0289,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3839,
"delta": 0.0289,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.109,
"after": 1.0,
"delta": 0.891,
"percent_delta": 8.1743,
"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.51,
"after": 6.0,
"delta": 1.49,
"percent_delta": 0.3304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2492,
"delta": -0.0008,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 1.13,
"after": 3.0,
"delta": 1.87,
"percent_delta": 1.6549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2859,
"delta": -0.0201,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.366,
"after": 1.0,
"delta": 0.634,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3839,
"delta": -0.0081,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.13,
"after": 3.0,
"delta": 1.87,
"percent_delta": 1.6549,
"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": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.510 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.208 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.366 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 0.564 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.094 | -0.015 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.027 | -0.483 |
| predicted_AVG | 0.256 | 0.006 |
| predicted_BB | 0.208 | 0.000 |
| predicted_H | 1.029 | -0.101 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.153 | 0.003 |
| predicted_OBP | 0.314 | 0.008 |
| predicted_R | 0.399 | 0.033 |
| predicted_RBI | 0.500 | -0.030 |
| predicted_SLG | 0.407 | 0.015 |
| predicted_SO | 0.594 | 0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.094 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.027 | 0.000 |
| predicted_AVG | 0.249 | -0.007 |
| predicted_BB | 0.207 | -0.001 |
| predicted_H | 1.004 | -0.025 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.149 | -0.004 |
| predicted_OBP | 0.286 | -0.028 |
| predicted_R | 0.383 | -0.016 |
| predicted_RBI | 0.480 | -0.020 |
| predicted_SLG | 0.384 | -0.023 |
| predicted_SO | 0.598 | 0.004 |
AB rounded to 5 (raw=4.51), rates preserved: AVG=0.223 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 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 | 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 | 1.000 | 1.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.094 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.973 |
| predicted_AVG | 0.233 | -0.016 |
| predicted_BB | 0.000 | -0.207 |
| predicted_H | 1.000 | -0.004 |
| predicted_HR | 0.000 | -0.149 |
| predicted_OBP | 0.270 | -0.016 |
| predicted_R | 0.000 | -0.383 |
| predicted_RBI | 1.000 | 0.520 |
| predicted_SLG | 0.355 | -0.029 |
| predicted_SO | 1.000 | 0.402 |
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 | 6.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.2353 | 0.3158 | 0.4118 | 0.2353 | 0.0588 | 0.1177 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 0.000 | 0.000 | 3.000 | 9.000 | 5.000 | 2.000 | 6.000 | 0.3030 | 0.3611 | 0.5758 | 0.3030 | 0.0909 | 0.2727 | 0.0606 | 0.1818 |
| season | 0.60 | 101 | - | 338.000 | 89.000 | 11.000 | 0.000 | 10.000 | 33.000 | 37.000 | 21.000 | 57.000 | 0.2633 | 0.3161 | 0.3846 | 0.2633 | 0.0296 | 0.0976 | 0.0621 | 0.1686 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0730 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3820 |
| predicted_AVG | 0.2643 |
| predicted_BB | 0.2090 |
| predicted_H | 0.8940 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3236 |
| predicted_R | 0.4440 |
| predicted_RBI | 0.4600 |
| predicted_SLG | 0.4267 |
| predicted_SO | 0.6340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1090 | 0.0730 | 0.0936 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5100 | 3.3820 | 4.0273 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2643 | 0.2561 | model_form_blend |
| predicted_BB | 0.2080 | 0.2090 | 0.2084 | model_form_blend |
| predicted_H | 1.1300 | 0.8940 | 1.0290 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.1500 | 0.1580 | 0.1534 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3236 | 0.3135 | model_form_blend |
| predicted_R | 0.3660 | 0.4440 | 0.3994 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4600 | 0.5000 | model_form_blend |
| predicted_SLG | 0.3920 | 0.4267 | 0.4068 | model_form_blend |
| predicted_SO | 0.5640 | 0.6340 | 0.5940 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 348 |
| Season rows before report date | 348 |
| 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 | 6 |
| AB | 6 |
| H | 3 |
| 2B | 1 |
| 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.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 664770 |
| playerID | 664770 |
| playerName | Nathan Lukes |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.287 |
| sl_xba | 0.251 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 8.7 |
| sl_whiff_percent | 17.2 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.177 | 0.000 | 0.000 | Hitting_2B | 0.178 | 1.000 | -0.178 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.280 | 5.000 | 4.000 | Hitting_AB | 3.828 | 4.000 | 1.172 | 1.000 |
| predicted_AVG | 0.268 | 0.200 | 0.250 | Hitting_AVG | 0.268 | 0.750 | -0.068 | -0.550 |
| predicted_BB | 0.379 | 0.000 | 1.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 | 1.150 | 1.000 | 1.000 | Hitting_H | 1.026 | 3.000 | -0.026 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.065 | 1.000 | -0.065 | -1.000 |
| predicted_OBP | 0.312 | 0.167 | 0.400 | Hitting_OBP | 0.345 | 0.750 | -0.178 | -0.583 |
| predicted_R | 0.508 | 1.000 | 1.000 | Hitting_R | 0.567 | 1.000 | 0.433 | 0.000 |
| predicted_RBI | 1.060 | 1.000 | 1.000 | Hitting_RBI | 0.431 | 5.000 | 0.569 | -4.000 |
| predicted_SLG | 0.395 | 0.200 | 0.250 | Hitting_SLG | 0.365 | 1.750 | -0.165 | -1.550 |
| predicted_SO | 0.532 | 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 | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 4.2800 -> 5.0000 (boost 0.7200, better) |
| Biggest Deboost | predicted_SO: 0.5320 -> 0.0000 (deboost -0.5320, 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_AB: 4.2800 -> 4.1020 (deboost -0.1780, worse) | Final model input calibrated with local 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.2671 -> 0.2610 (deboost -0.0061, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_RBI: 0.8504 -> 1.0000 (boost 0.1496, better) | predicted_SO: 0.4661 -> 0.0000 (deboost -0.4661, better) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.250 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4634 -> 0.0000 (deboost -0.4634, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | 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 |
| 8 | embedded_savant_player_context | 5 | 3 | 2 | 3 | 2 | predicted_SLG: 0.3945 -> 0.4270 (boost 0.0325, better) | predicted_BB: 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 | 3 | 0 | 2 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4270 -> 0.3945 (deboost -0.0325, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.0,
"predicted_AB": 4.28,
"predicted_AVG": 0.268,
"predicted_BB": 0.379,
"predicted_H": 1.15,
"predicted_HR": 0.13,
"predicted_OBP": 0.312,
"predicted_R": 0.508,
"predicted_RBI": 1.06,
"predicted_SLG": 0.395,
"predicted_SO": 0.532
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2048,
"predicted_3B": 0.0004,
"predicted_AB": 4.102,
"predicted_AVG": 0.2671,
"predicted_BB": 0.3477,
"predicted_H": 1.0979,
"predicted_HBP": 0.016,
"predicted_HR": 0.117,
"predicted_OBP": 0.3157,
"predicted_R": 0.4828,
"predicted_RBI": 0.8859,
"predicted_SLG": 0.3997,
"predicted_SO": 0.463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.2048,
"delta": 0.0278,
"percent_delta": 0.1571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 4.102,
"delta": -0.178,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2671,
"delta": -0.0009,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.3477,
"delta": -0.0313,
"percent_delta": -0.0826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.0979,
"delta": -0.0521,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.117,
"delta": -0.013,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3157,
"delta": 0.0037,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.4828,
"delta": -0.0252,
"percent_delta": -0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.06,
"after": 0.8859,
"delta": -0.1741,
"percent_delta": -0.1642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3997,
"delta": 0.0047,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.463,
"delta": -0.069,
"percent_delta": -0.1297,
"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.28,
"after": 4.102,
"delta": -0.178,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2048,
"predicted_3B": 0.0004,
"predicted_AB": 4.102,
"predicted_AVG": 0.261,
"predicted_BB": 0.3454,
"predicted_H": 1.0708,
"predicted_HBP": 0.016,
"predicted_HR": 0.1139,
"predicted_OBP": 0.3184,
"predicted_R": 0.4634,
"predicted_RBI": 0.8504,
"predicted_SLG": 0.3945,
"predicted_SO": 0.4661
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2048,
"after": 0.2048,
"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.102,
"after": 4.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2671,
"after": 0.261,
"delta": -0.0061,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3477,
"after": 0.3454,
"delta": -0.0023,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0979,
"after": 1.0708,
"delta": -0.0271,
"percent_delta": -0.0247,
"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.117,
"after": 0.1139,
"delta": -0.0031,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3157,
"after": 0.3184,
"delta": 0.0027,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4828,
"after": 0.4634,
"delta": -0.0194,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8859,
"after": 0.8504,
"delta": -0.0355,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3997,
"after": 0.3945,
"delta": -0.0052,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.463,
"after": 0.4661,
"delta": 0.0031,
"percent_delta": 0.0067,
"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.2671,
"after": 0.261,
"delta": -0.0061,
"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 4 (raw=4.28), rates preserved: AVG=0.250 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2048,
"after": 0.0,
"delta": -0.2048,
"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.102,
"after": 4.0,
"delta": -0.102,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3454,
"after": 0.0,
"delta": -0.3454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0708,
"after": 1.0,
"delta": -0.0708,
"percent_delta": -0.0661,
"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.1139,
"after": 0.0,
"delta": -0.1139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8504,
"after": 1.0,
"delta": 0.1496,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4661,
"after": 0.0,
"delta": -0.4661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8504,
"after": 1.0,
"delta": 0.1496,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4661,
"after": 0.0,
"delta": -0.4661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)",
"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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4634,
"after": 0.0,
"delta": -0.4634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4634,
"after": 0.0,
"delta": -0.4634,
"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": 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": 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": 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": 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": 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.268,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.33,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.427,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.268,
"delta": 0.007,
"percent_delta": 0.0268,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.33,
"delta": 0.0116,
"percent_delta": 0.0364,
"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.3945,
"after": 0.427,
"delta": 0.0325,
"percent_delta": 0.0824,
"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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3945,
"after": 0.427,
"delta": 0.0325,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.261,
"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.3184,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3945,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.268,
"after": 0.261,
"delta": -0.007,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3184,
"delta": -0.0116,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3945,
"delta": -0.0325,
"percent_delta": -0.0762,
"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.427,
"after": 0.3945,
"delta": -0.0325,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "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": 0.0,
"delta": -0.177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 5.0,
"delta": 0.72,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.261,
"delta": -0.007,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3184,
"delta": 0.0064,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3945,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 5.0,
"delta": 0.72,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"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.177 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.280 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 1.060 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.532 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.102 | -0.178 |
| predicted_AVG | 0.267 | -0.001 |
| predicted_BB | 0.348 | -0.031 |
| predicted_H | 1.098 | -0.052 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.117 | -0.013 |
| predicted_OBP | 0.316 | 0.004 |
| predicted_R | 0.483 | -0.025 |
| predicted_RBI | 0.886 | -0.174 |
| predicted_SLG | 0.400 | 0.005 |
| predicted_SO | 0.463 | -0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.102 | 0.000 |
| predicted_AVG | 0.261 | -0.006 |
| predicted_BB | 0.345 | -0.002 |
| predicted_H | 1.071 | -0.027 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.114 | -0.003 |
| predicted_OBP | 0.318 | 0.003 |
| predicted_R | 0.463 | -0.019 |
| predicted_RBI | 0.850 | -0.035 |
| predicted_SLG | 0.395 | -0.005 |
| predicted_SO | 0.466 | 0.003 |
AB rounded to 4 (raw=4.28), rates preserved: AVG=0.250 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.444)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
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 | 1.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.205 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.102 |
| predicted_AVG | 0.268 | 0.007 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | -0.071 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.330 | 0.012 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 1.000 | 0.150 |
| predicted_SLG | 0.427 | 0.032 |
| predicted_SO | 0.000 | -0.466 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 0.000 | 1.000 | 7.000 | 2.000 | 1.000 | 0.000 | 0.3000 | 0.3333 | 0.5500 | 0.3000 | 0.0500 | 0.3500 | 0.0500 | 0.0000 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 0.000 | 1.000 | 7.000 | 3.000 | 2.000 | 1.000 | 0.2500 | 0.2857 | 0.4000 | 0.2500 | 0.0250 | 0.1750 | 0.0500 | 0.0250 |
| season | 0.60 | 124 | - | 470.000 | 123.000 | 22.000 | 0.000 | 8.000 | 53.000 | 63.000 | 47.000 | 66.000 | 0.2617 | 0.3295 | 0.3596 | 0.2617 | 0.0170 | 0.1128 | 0.1000 | 0.1404 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2410 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8700 |
| predicted_AVG | 0.2660 |
| predicted_BB | 0.3070 |
| predicted_H | 1.0300 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3206 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.6590 |
| predicted_SLG | 0.4058 |
| predicted_SO | 0.3730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.2410 | 0.2048 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2800 | 3.8700 | 4.1020 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2660 | 0.2671 | model_form_blend |
| predicted_BB | 0.3790 | 0.3070 | 0.3477 | model_form_blend |
| predicted_H | 1.1500 | 1.0300 | 1.0979 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1300 | 0.1000 | 0.1170 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3206 | 0.3157 | model_form_blend |
| predicted_R | 0.5080 | 0.4500 | 0.4828 | model_form_blend |
| predicted_RBI | 1.0600 | 0.6590 | 0.8859 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4058 | 0.3997 | model_form_blend |
| predicted_SO | 0.5320 | 0.3730 | 0.4630 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 494 |
| Season rows before report date | 494 |
| 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 | 6 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| 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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 5 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 665489 |
| playerID | 665489 |
| playerName | Vladimir Guerrero Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.307 |
| sl_xwoba | 0.333 |
| sl_xba | 0.283 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 19.1 |
| sl_swing_percent | 47.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 1.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | 0.836 | 1.000 |
| predicted_3B | 0.048 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.990 | 6.000 | 5.000 | Hitting_AB | 4.525 | 4.000 | 1.475 | 2.000 |
| predicted_AVG | 0.274 | 0.333 | 0.200 | Hitting_AVG | 0.279 | 0.250 | 0.054 | 0.083 |
| predicted_BB | 0.381 | 0.000 | 1.000 | Hitting_BB | 0.295 | 1.000 | -0.295 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.370 | 2.000 | 1.000 | Hitting_H | 1.262 | 1.000 | 0.738 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.376 | 0.333 | 0.333 | Hitting_OBP | 0.322 | 0.400 | 0.011 | -0.067 |
| predicted_R | 0.619 | 1.000 | 1.000 | Hitting_R | 0.492 | 3.000 | 0.508 | -2.000 |
| predicted_RBI | 0.400 | 1.000 | 1.000 | Hitting_RBI | 0.377 | 0.000 | 0.623 | 1.000 |
| predicted_SLG | 0.371 | 0.500 | 0.200 | Hitting_SLG | 0.322 | 0.250 | 0.178 | 0.250 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.033 | 0.000 | -0.033 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 3 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 4.9900 -> 6.0000 (boost 1.0100, better) |
| Biggest Deboost | predicted_BB: 0.3810 -> 0.0000 (deboost -0.3810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2740 -> 0.2842 (boost 0.0102, better) | predicted_AB: 4.9900 -> 4.5779 (deboost -0.4121, worse) | Final model input calibrated with local 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.3734 -> 0.3344 (deboost -0.0390, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 4.5779 -> 5.0000 (boost 0.4221, better) | predicted_BB: 0.4011 -> 0.0000 (deboost -0.4011, worse) | AB rounded to 5 (raw=4.99), rates preserved: AVG=0.253 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6350 -> 1.0000 (boost 0.3650, 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 | 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3280 -> 0.3572 (boost 0.0292, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703520",
"player_name": "Brett Bateman",
"position": "CF",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.048,
"predicted_AB": 4.99,
"predicted_AVG": 0.274,
"predicted_BB": 0.381,
"predicted_H": 1.37,
"predicted_HR": 0.03,
"predicted_OBP": 0.376,
"predicted_R": 0.619,
"predicted_RBI": 0.4,
"predicted_SLG": 0.371,
"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.1904,
"predicted_3B": 0.045,
"predicted_AB": 4.5779,
"predicted_AVG": 0.2842,
"predicted_BB": 0.4038,
"predicted_H": 1.2959,
"predicted_HBP": 0.008,
"predicted_HR": 0.0311,
"predicted_OBP": 0.3734,
"predicted_R": 0.6615,
"predicted_RBI": 0.3909,
"predicted_SLG": 0.3803,
"predicted_SO": 0.9924
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1904,
"delta": 0.0004,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.048,
"after": 0.045,
"delta": -0.003,
"percent_delta": -0.0625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5779,
"delta": -0.4121,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2842,
"delta": 0.0102,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.4038,
"delta": 0.0228,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.37,
"after": 1.2959,
"delta": -0.0741,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0311,
"delta": 0.0011,
"percent_delta": 0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3734,
"delta": -0.0026,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 0.6615,
"delta": 0.0425,
"percent_delta": 0.0687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3909,
"delta": -0.0091,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3803,
"delta": 0.0093,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9924,
"delta": -0.0076,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2842,
"delta": 0.0102,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.99,
"after": 4.5779,
"delta": -0.4121,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 21
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1904,
"predicted_3B": 0.045,
"predicted_AB": 4.5779,
"predicted_AVG": 0.2761,
"predicted_BB": 0.4011,
"predicted_H": 1.2639,
"predicted_HBP": 0.008,
"predicted_HR": 0.0303,
"predicted_OBP": 0.3344,
"predicted_R": 0.635,
"predicted_RBI": 0.3752,
"predicted_SLG": 0.3572,
"predicted_SO": 0.999
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1904,
"after": 0.1904,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5779,
"after": 4.5779,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2842,
"after": 0.2761,
"delta": -0.0081,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4038,
"after": 0.4011,
"delta": -0.0027,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2959,
"after": 1.2639,
"delta": -0.032,
"percent_delta": -0.0247,
"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.0311,
"after": 0.0303,
"delta": -0.0008,
"percent_delta": -0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3734,
"after": 0.3344,
"delta": -0.039,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6615,
"after": 0.635,
"delta": -0.0265,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3909,
"after": 0.3752,
"delta": -0.0157,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3803,
"after": 0.3572,
"delta": -0.0231,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9924,
"after": 0.999,
"delta": 0.0066,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3734,
"after": 0.3344,
"delta": -0.039,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.99), rates preserved: AVG=0.253 HR/AB=0.006",
"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.1904,
"after": 0.0,
"delta": -0.1904,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5779,
"after": 5.0,
"delta": 0.4221,
"percent_delta": 0.0922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4011,
"after": 0.0,
"delta": -0.4011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2639,
"after": 1.0,
"delta": -0.2639,
"percent_delta": -0.2088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0303,
"after": 0.0,
"delta": -0.0303,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3752,
"after": 0.0,
"delta": -0.3752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.999,
"after": 1.0,
"delta": 0.001,
"percent_delta": 0.001,
"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.5779,
"after": 5.0,
"delta": 0.4221,
"percent_delta": 0.0922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4011,
"after": 0.0,
"delta": -0.4011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"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.635,
"after": 1.0,
"delta": 0.365,
"percent_delta": 0.5748,
"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": 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": 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": 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.253,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.328,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2761,
"after": 0.253,
"delta": -0.0231,
"percent_delta": -0.0837,
"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.3344,
"after": 0.314,
"delta": -0.0204,
"percent_delta": -0.061,
"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.3572,
"after": 0.328,
"delta": -0.0292,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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": 6.0,
"predicted_AVG": 0.2761,
"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.3344,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3572,
"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": 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.253,
"after": 0.2761,
"delta": 0.0231,
"percent_delta": 0.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.3344,
"delta": 0.0204,
"percent_delta": 0.065,
"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.328,
"after": 0.3572,
"delta": 0.0292,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.328,
"after": 0.3572,
"delta": 0.0292,
"percent_delta": 0.089,
"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": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.99,
"after": 6.0,
"delta": 1.01,
"percent_delta": 0.2024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2761,
"delta": 0.0021,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.37,
"after": 2.0,
"delta": 0.63,
"percent_delta": 0.4599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3344,
"delta": -0.0416,
"percent_delta": -0.1106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3572,
"delta": -0.0138,
"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": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.99,
"after": 6.0,
"delta": 1.01,
"percent_delta": 0.2024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"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.190 | - |
| predicted_3B | 0.048 | - |
| predicted_AB | 4.990 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 1.370 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.376 | - |
| predicted_R | 0.619 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.371 | - |
| 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.190 | 0.000 |
| predicted_3B | 0.045 | -0.003 |
| predicted_AB | 4.578 | -0.412 |
| predicted_AVG | 0.284 | 0.010 |
| predicted_BB | 0.404 | 0.023 |
| predicted_H | 1.296 | -0.074 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.031 | 0.001 |
| predicted_OBP | 0.373 | -0.003 |
| predicted_R | 0.661 | 0.042 |
| predicted_RBI | 0.391 | -0.009 |
| predicted_SLG | 0.380 | 0.009 |
| predicted_SO | 0.992 | -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.190 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 4.578 | 0.000 |
| predicted_AVG | 0.276 | -0.008 |
| predicted_BB | 0.401 | -0.003 |
| predicted_H | 1.264 | -0.032 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.030 | -0.001 |
| predicted_OBP | 0.334 | -0.039 |
| predicted_R | 0.635 | -0.026 |
| predicted_RBI | 0.375 | -0.016 |
| predicted_SLG | 0.357 | -0.023 |
| predicted_SO | 0.999 | 0.007 |
AB rounded to 5 (raw=4.99), rates preserved: AVG=0.253 HR/AB=0.006
| 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 | 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.190 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 5.000 | 0.422 |
| predicted_AVG | 0.253 | -0.023 |
| predicted_BB | 0.000 | -0.401 |
| predicted_H | 1.000 | -0.264 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.314 | -0.020 |
| predicted_R | 1.000 | 0.365 |
| predicted_RBI | 0.000 | -0.375 |
| predicted_SLG | 0.328 | -0.029 |
| predicted_SO | 1.000 | 0.001 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 6.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 5.000 | 0.2778 | 0.4091 | 0.3333 | 0.2778 | 0.0000 | 0.1111 | 0.2222 | 0.2778 |
| last_10 | 0.20 | 10 | - | 38.000 | 14.000 | 2.000 | 1.000 | 0.000 | 3.000 | 9.000 | 5.000 | 11.000 | 0.3684 | 0.4318 | 0.4737 | 0.3684 | 0.0000 | 0.0790 | 0.1316 | 0.2895 |
| season | 0.60 | 21 | - | 86.000 | 27.000 | 4.000 | 1.000 | 0.000 | 7.000 | 13.000 | 8.000 | 21.000 | 0.3140 | 0.3684 | 0.3837 | 0.3140 | 0.0000 | 0.0814 | 0.0930 | 0.2442 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0400 |
| predicted_AB | 3.9050 |
| predicted_AVG | 0.3009 |
| predicted_BB | 0.4410 |
| predicted_H | 1.1750 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.3692 |
| predicted_R | 0.7310 |
| predicted_RBI | 0.3760 |
| predicted_SLG | 0.3954 |
| predicted_SO | 0.9800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1910 | 0.1904 | model_form_blend |
| predicted_3B | 0.0480 | 0.0400 | 0.0450 | model_form_blend |
| predicted_AB | 4.9900 | 3.9050 | 4.5779 | model_form_blend |
| predicted_AVG | 0.2740 | 0.3009 | 0.2842 | model_form_blend |
| predicted_BB | 0.3810 | 0.4410 | 0.4038 | model_form_blend |
| predicted_H | 1.3700 | 1.1750 | 1.2959 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0300 | 0.0330 | 0.0311 | model_form_blend |
| predicted_OBP | 0.3760 | 0.3692 | 0.3734 | model_form_blend |
| predicted_R | 0.6190 | 0.7310 | 0.6615 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3760 | 0.3909 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3954 | 0.3803 | model_form_blend |
| predicted_SO | 1.0000 | 0.9800 | 0.9924 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 61 |
| Season rows before report date | 61 |
| Report year | 2026 |
| Profile rows used | 21 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 6 |
| AB | 6 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 703520 |
| playerID | 703520 |
| playerName | Brett Bateman |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.335 |
| sl_xwoba | 0.271 |
| sl_xba | 0.236 |
| sl_xslg | 0.285 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.2 |
| sl_exit_velocity_avg | 83.2 |
| sl_launch_angle_avg | 0.8 |
| sl_whiff_percent | 17.3 |
| 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.163 | 0.000 | 0.000 | Hitting_2B | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.309 | 4.000 | 3.000 | Hitting_AB | 3.447 | 3.000 | 0.553 | 1.000 |
| predicted_AVG | 0.315 | 0.250 | 0.333 | Hitting_AVG | 0.248 | 0.667 | 0.002 | -0.417 |
| predicted_BB | 0.114 | 0.000 | 0.000 | Hitting_BB | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.960 | 1.000 | 1.000 | Hitting_H | 0.856 | 2.000 | 0.144 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.333 | 0.400 | 0.333 | Hitting_OBP | 0.291 | 0.667 | 0.109 | -0.267 |
| predicted_R | 0.285 | 0.000 | 0.000 | Hitting_R | 0.309 | 1.000 | -0.309 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.460 | 0.000 | -0.460 | 0.000 |
| predicted_SLG | 0.379 | 0.250 | 0.333 | Hitting_SLG | 0.372 | 0.667 | -0.122 | -0.417 |
| predicted_SO | 0.699 | 0.000 | 1.000 | Hitting_SO | 0.702 | 1.000 | -0.702 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.3090 -> 4.0000 (boost 0.6910, better) |
| Biggest Deboost | predicted_SO: 0.6990 -> 0.0000 (deboost -0.6990, 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_AVG: 0.3150 -> 0.2888 (deboost -0.0262, worse) | Final model input calibrated with local 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.3186 -> 0.2889 (deboost -0.0297, 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.7254 -> 1.0000 (boost 0.2746, worse) | predicted_RBI: 0.3786 -> 0.0000 (deboost -0.3786, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.268 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2578 -> 0.0000 (deboost -0.2578, 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 | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2889 -> 0.3010 (boost 0.0121, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3010 -> 0.2889 (deboost -0.0121, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665926",
"player_name": "Andrés Giménez",
"position": "SS",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.008,
"predicted_AB": 3.309,
"predicted_AVG": 0.315,
"predicted_BB": 0.114,
"predicted_H": 0.96,
"predicted_HR": 0.06,
"predicted_OBP": 0.333,
"predicted_R": 0.285,
"predicted_RBI": 0.35,
"predicted_SLG": 0.379,
"predicted_SO": 0.699
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1449,
"predicted_3B": 0.0067,
"predicted_AB": 3.3211,
"predicted_AVG": 0.2888,
"predicted_BB": 0.0989,
"predicted_H": 0.9121,
"predicted_HBP": 0.142,
"predicted_HR": 0.0531,
"predicted_OBP": 0.3186,
"predicted_R": 0.2686,
"predicted_RBI": 0.3944,
"predicted_SLG": 0.3594,
"predicted_SO": 0.7206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1449,
"delta": -0.0181,
"percent_delta": -0.111,
"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.309,
"after": 3.3211,
"delta": 0.0121,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.315,
"after": 0.2888,
"delta": -0.0262,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.0989,
"delta": -0.0151,
"percent_delta": -0.1325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9121,
"delta": -0.0479,
"percent_delta": -0.0499,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0531,
"delta": -0.0069,
"percent_delta": -0.115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3186,
"delta": -0.0144,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.285,
"after": 0.2686,
"delta": -0.0164,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3944,
"delta": 0.0444,
"percent_delta": 0.1269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3594,
"delta": -0.0196,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 0.7206,
"delta": 0.0216,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.315,
"after": 0.2888,
"delta": -0.0262,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1449,
"predicted_3B": 0.0067,
"predicted_AB": 3.3211,
"predicted_AVG": 0.2679,
"predicted_BB": 0.0982,
"predicted_H": 0.8896,
"predicted_HBP": 0.142,
"predicted_HR": 0.0517,
"predicted_OBP": 0.2889,
"predicted_R": 0.2578,
"predicted_RBI": 0.3786,
"predicted_SLG": 0.3622,
"predicted_SO": 0.7254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1449,
"after": 0.1449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3211,
"after": 3.3211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2888,
"after": 0.2679,
"delta": -0.0209,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0989,
"after": 0.0982,
"delta": -0.0007,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9121,
"after": 0.8896,
"delta": -0.0225,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.142,
"after": 0.142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0531,
"after": 0.0517,
"delta": -0.0014,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3186,
"after": 0.2889,
"delta": -0.0297,
"percent_delta": -0.0932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2686,
"after": 0.2578,
"delta": -0.0108,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3944,
"after": 0.3786,
"delta": -0.0158,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3594,
"after": 0.3622,
"delta": 0.0028,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7206,
"after": 0.7254,
"delta": 0.0048,
"percent_delta": 0.0067,
"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.3186,
"after": 0.2889,
"delta": -0.0297,
"percent_delta": -0.0932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.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.1449,
"after": 0.0,
"delta": -0.1449,
"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.3211,
"after": 3.0,
"delta": -0.3211,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0982,
"after": 0.0,
"delta": -0.0982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8896,
"after": 1.0,
"delta": 0.1104,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.142,
"after": 0.0,
"delta": -0.142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0517,
"after": 0.0,
"delta": -0.0517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3786,
"after": 0.0,
"delta": -0.3786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7254,
"after": 1.0,
"delta": 0.2746,
"percent_delta": 0.3785,
"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.7254,
"after": 1.0,
"delta": 0.2746,
"percent_delta": 0.3785,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3786,
"after": 0.0,
"delta": -0.3786,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2578,
"after": 0.0,
"delta": -0.2578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2578,
"after": 0.0,
"delta": -0.2578,
"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.275,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.367,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2679,
"after": 0.275,
"delta": 0.0071,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2889,
"after": 0.301,
"delta": 0.0121,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3622,
"after": 0.367,
"delta": 0.0048,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2889,
"after": 0.301,
"delta": 0.0121,
"percent_delta": 0.0419,
"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": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2679,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2889,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3622,
"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.275,
"after": 0.2679,
"delta": -0.0071,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2889,
"delta": -0.0121,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3622,
"delta": -0.0048,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2889,
"delta": -0.0121,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "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.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.309,
"after": 4.0,
"delta": 0.691,
"percent_delta": 0.2088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.315,
"after": 0.2679,
"delta": -0.0471,
"percent_delta": -0.1495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.0,
"delta": 0.04,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2889,
"delta": -0.0441,
"percent_delta": -0.1324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.285,
"after": 0.0,
"delta": -0.285,
"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.379,
"after": 0.3622,
"delta": -0.0168,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 0.0,
"delta": -0.699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.309,
"after": 4.0,
"delta": 0.691,
"percent_delta": 0.2088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.699,
"after": 0.0,
"delta": -0.699,
"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.163 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.309 | - |
| predicted_AVG | 0.315 | - |
| predicted_BB | 0.114 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.285 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.699 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | -0.018 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.321 | 0.012 |
| predicted_AVG | 0.289 | -0.026 |
| predicted_BB | 0.099 | -0.015 |
| predicted_H | 0.912 | -0.048 |
| predicted_HBP | 0.142 | - |
| predicted_HR | 0.053 | -0.007 |
| predicted_OBP | 0.319 | -0.014 |
| predicted_R | 0.269 | -0.016 |
| predicted_RBI | 0.394 | 0.044 |
| predicted_SLG | 0.359 | -0.020 |
| predicted_SO | 0.721 | 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.145 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.321 | 0.000 |
| predicted_AVG | 0.268 | -0.021 |
| predicted_BB | 0.098 | -0.001 |
| predicted_H | 0.890 | -0.023 |
| predicted_HBP | 0.142 | 0.000 |
| predicted_HR | 0.052 | -0.001 |
| predicted_OBP | 0.289 | -0.030 |
| predicted_R | 0.258 | -0.011 |
| predicted_RBI | 0.379 | -0.016 |
| predicted_SLG | 0.362 | 0.003 |
| predicted_SO | 0.725 | 0.005 |
AB rounded to 3 (raw=3.32), 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.145 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 3.000 | -0.321 |
| predicted_AVG | 0.275 | 0.007 |
| predicted_BB | 0.000 | -0.098 |
| predicted_H | 1.000 | 0.110 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.301 | 0.012 |
| predicted_R | 0.000 | -0.258 |
| predicted_RBI | 0.000 | -0.379 |
| predicted_SLG | 0.367 | 0.005 |
| predicted_SO | 1.000 | 0.275 |
Attached simulation box 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 | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 5.000 | 0.2500 | 0.2941 | 0.2500 | 0.2500 | 0.0000 | 0.1875 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 1.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 6.000 | 0.2941 | 0.3333 | 0.3235 | 0.2941 | 0.0000 | 0.1177 | 0.0000 | 0.1765 |
| season | 0.60 | 123 | - | 407.000 | 99.000 | 20.000 | 1.000 | 8.000 | 51.000 | 35.000 | 14.000 | 86.000 | 0.2432 | 0.2893 | 0.3563 | 0.2432 | 0.0197 | 0.1253 | 0.0344 | 0.2113 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3370 |
| predicted_AVG | 0.2543 |
| predicted_BB | 0.0790 |
| predicted_H | 0.8490 |
| predicted_HBP | 0.1420 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2995 |
| predicted_R | 0.2470 |
| predicted_RBI | 0.4530 |
| predicted_SLG | 0.3335 |
| predicted_SO | 0.7490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.1210 | 0.1449 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.3090 | 3.3370 | 3.3211 | model_form_blend |
| predicted_AVG | 0.3150 | 0.2543 | 0.2888 | model_form_blend |
| predicted_BB | 0.1140 | 0.0790 | 0.0989 | model_form_blend |
| predicted_H | 0.9600 | 0.8490 | 0.9121 | model_form_blend |
| predicted_HBP | - | 0.1420 | 0.1420 | form_only |
| predicted_HR | 0.0600 | 0.0440 | 0.0531 | model_form_blend |
| predicted_OBP | 0.3330 | 0.2995 | 0.3186 | model_form_blend |
| predicted_R | 0.2850 | 0.2470 | 0.2686 | model_form_blend |
| predicted_RBI | 0.3500 | 0.4530 | 0.3944 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3335 | 0.3594 | model_form_blend |
| predicted_SO | 0.6990 | 0.7490 | 0.7206 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 430 |
| Season rows before report date | 430 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.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.667 |
| 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 | 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 | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 665926 |
| playerID | 665926 |
| playerName | Andrés Giménez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.283 |
| sl_xwoba | 0.268 |
| sl_xba | 0.23 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 57.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.213 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 4.130 | 5.000 | 4.000 | Hitting_AB | 3.974 | 5.000 | 1.026 | 0.000 |
| predicted_AVG | 0.212 | 0.200 | 0.250 | Hitting_AVG | 0.289 | 0.200 | -0.089 | 0.000 |
| predicted_BB | 0.140 | 0.000 | 0.000 | Hitting_BB | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.148 | 1.000 | -0.148 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.232 | 0.200 | 0.250 | Hitting_OBP | 0.313 | 0.200 | -0.113 | 0.000 |
| predicted_R | 0.404 | 0.000 | 0.000 | Hitting_R | 0.461 | 1.000 | -0.461 | -1.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.043 | 1.000 | -0.043 | -1.000 |
| predicted_SLG | 0.306 | 0.200 | 0.250 | Hitting_SLG | 0.411 | 0.200 | -0.211 | 0.000 |
| predicted_SO | 0.390 | 1.000 | 0.000 | Hitting_SO | 0.396 | 0.000 | 0.604 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 4.1300 -> 5.0000 (boost 0.8700, better) |
| Biggest Deboost | predicted_R: 0.4040 -> 0.0000 (deboost -0.4040, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1300 -> 3.9209 (deboost -0.2091, worse) | Final model input calibrated with local 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.2967 -> 0.2891 (deboost -0.0076, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_H: 0.8006 -> 1.0000 (boost 0.1994, better) | predicted_SO: 0.4053 -> 0.0000 (deboost -0.4053, better) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.194 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3478 -> 0.0000 (deboost -0.3478, 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.2891 -> 0.2740 (deboost -0.0151, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 4.0000 -> 5.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.2740 -> 0.2891 (boost 0.0151, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "2B",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.213,
"predicted_3B": 0.007,
"predicted_AB": 4.13,
"predicted_AVG": 0.212,
"predicted_BB": 0.14,
"predicted_H": 0.87,
"predicted_HR": 0.05,
"predicted_OBP": 0.232,
"predicted_R": 0.404,
"predicted_RBI": 0.31,
"predicted_SLG": 0.306,
"predicted_SO": 0.39
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1834,
"predicted_3B": 0.0061,
"predicted_AB": 3.9209,
"predicted_AVG": 0.21,
"predicted_BB": 0.1452,
"predicted_H": 0.8209,
"predicted_HBP": 0.01,
"predicted_HR": 0.047,
"predicted_OBP": 0.2353,
"predicted_R": 0.3623,
"predicted_RBI": 0.2609,
"predicted_SLG": 0.2967,
"predicted_SO": 0.4026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.1834,
"delta": -0.0296,
"percent_delta": -0.139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 3.9209,
"delta": -0.2091,
"percent_delta": -0.0506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.21,
"delta": -0.002,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.14,
"after": 0.1452,
"delta": 0.0052,
"percent_delta": 0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8209,
"delta": -0.0491,
"percent_delta": -0.0564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.047,
"delta": -0.003,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.232,
"after": 0.2353,
"delta": 0.0033,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.3623,
"delta": -0.0417,
"percent_delta": -0.1032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2609,
"delta": -0.0491,
"percent_delta": -0.1584,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2967,
"delta": -0.0093,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.39,
"after": 0.4026,
"delta": 0.0126,
"percent_delta": 0.0323,
"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.13,
"after": 3.9209,
"delta": -0.2091,
"percent_delta": -0.0506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1834,
"predicted_3B": 0.0061,
"predicted_AB": 3.9209,
"predicted_AVG": 0.2042,
"predicted_BB": 0.1442,
"predicted_H": 0.8006,
"predicted_HBP": 0.01,
"predicted_HR": 0.0458,
"predicted_OBP": 0.2324,
"predicted_R": 0.3478,
"predicted_RBI": 0.2504,
"predicted_SLG": 0.2891,
"predicted_SO": 0.4053
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1834,
"after": 0.1834,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9209,
"after": 3.9209,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2042,
"delta": -0.0058,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1452,
"after": 0.1442,
"delta": -0.001,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8209,
"after": 0.8006,
"delta": -0.0203,
"percent_delta": -0.0247,
"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.047,
"after": 0.0458,
"delta": -0.0012,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2353,
"after": 0.2324,
"delta": -0.0029,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3623,
"after": 0.3478,
"delta": -0.0145,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2609,
"after": 0.2504,
"delta": -0.0105,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2967,
"after": 0.2891,
"delta": -0.0076,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4026,
"after": 0.4053,
"delta": 0.0027,
"percent_delta": 0.0067,
"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.2967,
"after": 0.2891,
"delta": -0.0076,
"percent_delta": -0.0256,
"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.194 HR/AB=0.011",
"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.1834,
"after": 0.0,
"delta": -0.1834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9209,
"after": 4.0,
"delta": 0.0791,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1442,
"after": 0.0,
"delta": -0.1442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8006,
"after": 1.0,
"delta": 0.1994,
"percent_delta": 0.2491,
"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.0458,
"after": 0.0,
"delta": -0.0458,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2504,
"after": 0.0,
"delta": -0.2504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4053,
"after": 0.0,
"delta": -0.4053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8006,
"after": 1.0,
"delta": 0.1994,
"percent_delta": 0.2491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4053,
"after": 0.0,
"delta": -0.4053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3478,
"after": 0.0,
"delta": -0.3478,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3478,
"after": 0.0,
"delta": -0.3478,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"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.194,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.227,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.274,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2042,
"after": 0.194,
"delta": -0.0102,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2324,
"after": 0.227,
"delta": -0.0054,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2891,
"after": 0.274,
"delta": -0.0151,
"percent_delta": -0.0522,
"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.2891,
"after": 0.274,
"delta": -0.0151,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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.2042,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2324,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2891,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.194,
"after": 0.2042,
"delta": 0.0102,
"percent_delta": 0.0525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.227,
"after": 0.2324,
"delta": 0.0054,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.274,
"after": 0.2891,
"delta": 0.0151,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.274,
"after": 0.2891,
"delta": 0.0151,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"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.212,
"after": 0.2042,
"delta": -0.0078,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.232,
"after": 0.2324,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"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.306,
"after": 0.2891,
"delta": -0.0169,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 5.0,
"delta": 0.87,
"percent_delta": 0.2107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.212 | - |
| predicted_BB | 0.140 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.232 | - |
| predicted_R | 0.404 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.306 | - |
| predicted_SO | 0.390 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | -0.030 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.921 | -0.209 |
| predicted_AVG | 0.210 | -0.002 |
| predicted_BB | 0.145 | 0.005 |
| predicted_H | 0.821 | -0.049 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.047 | -0.003 |
| predicted_OBP | 0.235 | 0.003 |
| predicted_R | 0.362 | -0.042 |
| predicted_RBI | 0.261 | -0.049 |
| predicted_SLG | 0.297 | -0.009 |
| predicted_SO | 0.403 | 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.183 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.921 | 0.000 |
| predicted_AVG | 0.204 | -0.006 |
| predicted_BB | 0.144 | -0.001 |
| predicted_H | 0.801 | -0.020 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.046 | -0.001 |
| predicted_OBP | 0.232 | -0.003 |
| predicted_R | 0.348 | -0.015 |
| predicted_RBI | 0.250 | -0.011 |
| predicted_SLG | 0.289 | -0.008 |
| predicted_SO | 0.405 | 0.003 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.194 HR/AB=0.011
| 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 | 0.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.183 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.079 |
| predicted_AVG | 0.194 | -0.010 |
| predicted_BB | 0.000 | -0.144 |
| predicted_H | 1.000 | 0.199 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.227 | -0.005 |
| predicted_R | 0.000 | -0.348 |
| predicted_RBI | 0.000 | -0.250 |
| predicted_SLG | 0.274 | -0.015 |
| predicted_SO | 0.000 | -0.405 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.0625 | 0.1176 | 0.0625 | 0.0625 | 0.0000 | 0.0000 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 10 | - | 36.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.1389 | 0.1622 | 0.1667 | 0.1389 | 0.0000 | 0.0000 | 0.0278 | 0.1111 |
| season | 0.60 | 136 | - | 517.000 | 142.000 | 29.000 | 1.000 | 9.000 | 43.000 | 55.000 | 19.000 | 53.000 | 0.2747 | 0.3002 | 0.3868 | 0.2747 | 0.0174 | 0.0832 | 0.0367 | 0.1025 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1450 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6490 |
| predicted_AVG | 0.2074 |
| predicted_BB | 0.1520 |
| predicted_H | 0.7570 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0430 |
| predicted_OBP | 0.2397 |
| predicted_R | 0.3080 |
| predicted_RBI | 0.1970 |
| predicted_SLG | 0.2847 |
| predicted_SO | 0.4190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.1450 | 0.1834 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 4.1300 | 3.6490 | 3.9209 | model_form_blend |
| predicted_AVG | 0.2120 | 0.2074 | 0.2100 | model_form_blend |
| predicted_BB | 0.1400 | 0.1520 | 0.1452 | model_form_blend |
| predicted_H | 0.8700 | 0.7570 | 0.8209 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0500 | 0.0430 | 0.0470 | model_form_blend |
| predicted_OBP | 0.2320 | 0.2397 | 0.2353 | model_form_blend |
| predicted_R | 0.4040 | 0.3080 | 0.3623 | model_form_blend |
| predicted_RBI | 0.3100 | 0.1970 | 0.2609 | model_form_blend |
| predicted_SLG | 0.3060 | 0.2847 | 0.2967 | model_form_blend |
| predicted_SO | 0.3900 | 0.4190 | 0.4026 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 508 |
| Season rows before report date | 508 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-SS |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 676391 |
| playerID | 676391 |
| playerName | Ernie Clement |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-02 |
| sl_k_percent | 9.8 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.266 |
| sl_xba | 0.249 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 2.1 |
| sl_hard_hit_percent | 20.3 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 57.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.129 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.057 | 4.000 | 3.000 | Hitting_AB | 3.178 | 3.000 | 0.822 | 1.000 |
| predicted_AVG | 0.219 | 0.250 | 0.000 | Hitting_AVG | 0.238 | 0.000 | 0.012 | 0.250 |
| predicted_BB | 0.343 | 0.000 | 0.000 | Hitting_BB | 0.369 | 1.000 | -0.369 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 1.000 | 0.000 | Hitting_H | 0.755 | 0.000 | 0.245 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.285 | 0.400 | 0.000 | Hitting_OBP | 0.319 | 0.250 | 0.081 | 0.150 |
| predicted_R | 0.343 | 0.000 | 0.000 | Hitting_R | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SLG | 0.387 | 0.250 | 0.000 | Hitting_SLG | 0.406 | 0.000 | -0.156 | 0.250 |
| predicted_SO | 0.900 | 2.000 | 1.000 | Hitting_SO | 0.975 | 0.000 | 1.025 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9000 -> 2.0000 (boost 1.1000, worse) |
| Biggest Deboost | predicted_BB: 0.3430 -> 0.0000 (deboost -0.3430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3870 -> 0.3724 (deboost -0.0146, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3724 -> 0.3173 (deboost -0.0551, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.5979 -> 1.0000 (boost 0.4021, better) | predicted_BB: 0.3403 -> 0.0000 (deboost -0.3403, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.195 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3212 -> 0.0000 (deboost -0.3212, 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 | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3250 -> 0.3173 (deboost -0.0077, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678218",
"player_name": "Brandon Valenzuela",
"position": "C",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.129,
"predicted_3B": 0.0,
"predicted_AB": 3.057,
"predicted_AVG": 0.219,
"predicted_BB": 0.343,
"predicted_H": 0.59,
"predicted_HR": 0.07,
"predicted_OBP": 0.285,
"predicted_R": 0.343,
"predicted_RBI": 0.23,
"predicted_SLG": 0.387,
"predicted_SO": 0.9
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1666,
"predicted_3B": 0.0004,
"predicted_AB": 3.0683,
"predicted_AVG": 0.2148,
"predicted_BB": 0.3426,
"predicted_H": 0.613,
"predicted_HBP": 0.029,
"predicted_HR": 0.0713,
"predicted_OBP": 0.2886,
"predicted_R": 0.3346,
"predicted_RBI": 0.2196,
"predicted_SLG": 0.3724,
"predicted_SO": 0.8674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1666,
"delta": 0.0376,
"percent_delta": 0.2915,
"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.057,
"after": 3.0683,
"delta": 0.0113,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2148,
"delta": -0.0042,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.3426,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.613,
"delta": 0.023,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0713,
"delta": 0.0013,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2886,
"delta": 0.0036,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.3346,
"delta": -0.0084,
"percent_delta": -0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2196,
"delta": -0.0104,
"percent_delta": -0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3724,
"delta": -0.0146,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 0.8674,
"delta": -0.0326,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.387,
"after": 0.3724,
"delta": -0.0146,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1666,
"predicted_3B": 0.0004,
"predicted_AB": 3.0683,
"predicted_AVG": 0.1949,
"predicted_BB": 0.3403,
"predicted_H": 0.5979,
"predicted_HBP": 0.029,
"predicted_HR": 0.0694,
"predicted_OBP": 0.2752,
"predicted_R": 0.3212,
"predicted_RBI": 0.2108,
"predicted_SLG": 0.3173,
"predicted_SO": 0.8732
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1666,
"after": 0.1666,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0683,
"after": 3.0683,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2148,
"after": 0.1949,
"delta": -0.0199,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3426,
"after": 0.3403,
"delta": -0.0023,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.613,
"after": 0.5979,
"delta": -0.0151,
"percent_delta": -0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0713,
"after": 0.0694,
"delta": -0.0019,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2886,
"after": 0.2752,
"delta": -0.0134,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3346,
"after": 0.3212,
"delta": -0.0134,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2196,
"after": 0.2108,
"delta": -0.0088,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.3173,
"delta": -0.0551,
"percent_delta": -0.148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8674,
"after": 0.8732,
"delta": 0.0058,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.3173,
"delta": -0.0551,
"percent_delta": -0.148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.07), rates preserved: AVG=0.195 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.1666,
"after": 0.0,
"delta": -0.1666,
"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.0683,
"after": 3.0,
"delta": -0.0683,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3403,
"after": 0.0,
"delta": -0.3403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5979,
"after": 1.0,
"delta": 0.4021,
"percent_delta": 0.6725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0694,
"after": 0.0,
"delta": -0.0694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2108,
"after": 0.0,
"delta": -0.2108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8732,
"after": 1.0,
"delta": 0.1268,
"percent_delta": 0.1452,
"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.5979,
"after": 1.0,
"delta": 0.4021,
"percent_delta": 0.6725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3403,
"after": 0.0,
"delta": -0.3403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3212,
"after": 0.0,
"delta": -0.3212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3212,
"after": 0.0,
"delta": -0.3212,
"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.195,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.325,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1949,
"after": 0.195,
"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": 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.2752,
"after": 0.281,
"delta": 0.0058,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3173,
"after": 0.325,
"delta": 0.0077,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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.1949,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2752,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3173,
"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.195,
"after": 0.1949,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2752,
"delta": -0.0058,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3173,
"delta": -0.0077,
"percent_delta": -0.0238,
"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.325,
"after": 0.3173,
"delta": -0.0077,
"percent_delta": -0.0238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.057,
"after": 4.0,
"delta": 0.943,
"percent_delta": 0.3085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1949,
"delta": -0.0241,
"percent_delta": -0.11,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"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.285,
"after": 0.2752,
"delta": -0.0098,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3173,
"delta": -0.0697,
"percent_delta": -0.1801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"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.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.057 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.343 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.343 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.900 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.038 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.068 | 0.011 |
| predicted_AVG | 0.215 | -0.004 |
| predicted_BB | 0.343 | -0.000 |
| predicted_H | 0.613 | 0.023 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.071 | 0.001 |
| predicted_OBP | 0.289 | 0.004 |
| predicted_R | 0.335 | -0.008 |
| predicted_RBI | 0.220 | -0.010 |
| predicted_SLG | 0.372 | -0.015 |
| predicted_SO | 0.867 | -0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.068 | 0.000 |
| predicted_AVG | 0.195 | -0.020 |
| predicted_BB | 0.340 | -0.002 |
| predicted_H | 0.598 | -0.015 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.069 | -0.002 |
| predicted_OBP | 0.275 | -0.013 |
| predicted_R | 0.321 | -0.013 |
| predicted_RBI | 0.211 | -0.009 |
| predicted_SLG | 0.317 | -0.055 |
| predicted_SO | 0.873 | 0.006 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.195 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 | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.167 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.068 |
| predicted_AVG | 0.195 | 0.000 |
| predicted_BB | 0.000 | -0.340 |
| predicted_H | 1.000 | 0.402 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.281 | 0.006 |
| predicted_R | 0.000 | -0.321 |
| predicted_RBI | 0.000 | -0.211 |
| predicted_SLG | 0.325 | 0.008 |
| predicted_SO | 1.000 | 0.127 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.2143 | 0.3125 | 0.3571 | 0.2143 | 0.0000 | 0.0000 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 10.000 | 0.1333 | 0.2353 | 0.2333 | 0.1333 | 0.0000 | 0.0000 | 0.1000 | 0.3333 |
| season | 0.60 | 70 | - | 214.000 | 48.000 | 9.000 | 0.000 | 8.000 | 21.000 | 24.000 | 24.000 | 63.000 | 0.2243 | 0.3042 | 0.3785 | 0.2243 | 0.0374 | 0.0981 | 0.1121 | 0.2944 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0840 |
| predicted_AVG | 0.2090 |
| predicted_BB | 0.3420 |
| predicted_H | 0.6450 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.2936 |
| predicted_R | 0.3230 |
| predicted_RBI | 0.2050 |
| predicted_SLG | 0.3521 |
| predicted_SO | 0.8220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.2190 | 0.1666 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0570 | 3.0840 | 3.0683 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2090 | 0.2148 | model_form_blend |
| predicted_BB | 0.3430 | 0.3420 | 0.3426 | model_form_blend |
| predicted_H | 0.5900 | 0.6450 | 0.6130 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.0700 | 0.0730 | 0.0713 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2936 | 0.2886 | model_form_blend |
| predicted_R | 0.3430 | 0.3230 | 0.3346 | model_form_blend |
| predicted_RBI | 0.2300 | 0.2050 | 0.2196 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3521 | 0.3724 | model_form_blend |
| predicted_SO | 0.9000 | 0.8220 | 0.8674 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 241 |
| Season rows before report date | 241 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260828_SEA@TOR |
| game_type | full |
| mlbID | 678218 |
| playerID | 678218 |
| playerName | Brandon Valenzuela |
| pos | C |
| started | True |
| startingPosition | C |
| team | TOR |
| teamID | 29 |
| game_date | 2026-08-28 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.304 |
| sl_xwoba | 0.313 |
| sl_xba | 0.242 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 2.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.600 | 3.000 | -2.600 | -3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.800 | 5.000 | -2.800 | -2.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.480 | 7.000 | 0.520 | -1.000 |
| predicted_SO | 10.000 | 10.000 | 10.000 | Pitching_SO | 4.400 | 6.000 | 5.600 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 8.0000 -> 10.0000 (boost 2.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 8.0000 -> 10.0000 (boost 2.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "667755",
"player_name": "José Soriano",
"position": "Starter",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 10.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 10.0,
"delta": 2.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 10.0,
"delta": 2.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 10.0,
"delta": 2.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 10.0,
"delta": 2.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 8.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.100 | 13.000 | 29.000 | 10.000 | 22.000 | 2.000 | 4.1294 | 1.3765 | 0.4588 | 1.0235 | 0.3529 | 0.7765 | 0.0706 |
| last_10 | 0.35 | 10 | 56.100 | 23.000 | 49.000 | 19.000 | 47.000 | 2.000 | 3.6746 | 1.2071 | 0.4083 | 0.8698 | 0.3373 | 0.8343 | 0.0355 |
| season | 0.20 | 27 | 151.100 | 58.000 | 126.000 | 67.000 | 149.000 | 14.000 | 3.4493 | 1.2753 | 0.3833 | 0.8326 | 0.4427 | 0.9846 | 0.0925 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0940 |
| predicted_ER | 2.5000 |
| predicted_ERA | 3.9348 |
| predicted_H | 5.3640 |
| predicted_HR | 0.4330 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.8840 |
| predicted_WHIP | 1.3043 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0940 | 2.0549 | model_form_blend |
| predicted_ER | 0.0000 | 2.5000 | 1.4600 | model_form_blend |
| predicted_ERA | - | 3.9348 | 3.9348 | form_only |
| predicted_H | 3.0000 | 5.3640 | 4.3806 | model_form_blend |
| predicted_HR | 0.0000 | 0.4330 | 0.2529 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 8.0000 | 4.8840 | 6.1802 | model_form_blend |
| predicted_WHIP | - | 1.3043 | 1.3043 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 3 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 10 |
| HR | 0 |
| BF | 23 |
| Pitches | 105 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 27 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.45 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 8 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 3 |
| Pitching_SO | 6 |
| Pitching_Strikes | 65 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260829_SEA@TOR |
| game_type | full |
| mlbID | 667755 |
| playerID | 667755 |
| playerName | José Soriano |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-08-29 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.294 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 77.758281791 |
| sl_avg_hyper_speed | 94.244032438 |
| 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.145 | 0.000 | -0.145 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.790 | 0.000 | -0.790 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.032 | 1.000 | 0.068 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.355 | 1.000 | -1.355 | -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": "686973",
"player_name": "Louis Varland",
"position": "Closer",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 4.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.7500 | 0.1875 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 7.000 | 2.000 | 10.000 | 1.000 | 1.6364 | 0.8182 | 0.1818 | 0.6364 | 0.1818 | 0.9091 | 0.0909 |
| season | 0.20 | 62 | 68.200 | 9.000 | 49.000 | 18.000 | 84.000 | 2.000 | 1.1796 | 0.9757 | 0.1311 | 0.7136 | 0.2621 | 1.2233 | 0.0291 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2460 |
| predicted_ER | 0.1980 |
| predicted_ERA | 1.7844 |
| predicted_H | 0.7750 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1580 |
| predicted_WHIP | 1.0204 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2460 | 0.1323 | model_form_blend |
| predicted_ER | 0.0000 | 0.1980 | 0.1065 | model_form_blend |
| predicted_ERA | - | 1.7844 | 1.7844 | form_only |
| predicted_H | 0.0000 | 0.7750 | 0.4167 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0360 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1580 | 0.6226 | model_form_blend |
| predicted_WHIP | - | 1.0204 | 1.0204 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 62 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.18 |
| 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 | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260829_SEA@TOR |
| game_type | full |
| mlbID | 686973 |
| playerID | 686973 |
| playerName | Louis Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-08-29 |
| sl_k_percent | 31.5 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.229 |
| sl_xwoba | 0.23 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 52.4 |
| sl_avg_best_speed | 76.682021707 |
| sl_avg_hyper_speed | 93.393762454 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.500 | 0.000 | 1.500 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.500 | 2.000 | 1.500 | 1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 2.500 | 2.000 | 1.500 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.500 | 1.000 | -0.500 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 0.000 | 0.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "547179",
"player_name": "Michael Lorenzen",
"position": "Setup Man",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 3.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.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 | 14.000 | 18.000 | 24.000 | 10.000 | 4.000 | 4.000 | 11.5714 | 2.4286 | 1.2857 | 1.7143 | 0.7143 | 0.2857 | 0.2857 |
| last_10 | 0.35 | 10 | 37.000 | 32.000 | 53.000 | 24.000 | 18.000 | 7.000 | 7.7838 | 2.0811 | 0.8649 | 1.4324 | 0.6486 | 0.4865 | 0.1892 |
| season | 0.20 | 28 | 118.200 | 94.000 | 173.000 | 50.000 | 84.000 | 20.000 | 7.1292 | 1.8792 | 0.7921 | 1.4579 | 0.4214 | 0.7079 | 0.1685 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7750 |
| predicted_ER | 2.8670 |
| predicted_ERA | 8.6181 |
| predicted_H | 4.4150 |
| predicted_HR | 0.6470 |
| predicted_IP | 3.0000 |
| predicted_SO | 1.5450 |
| predicted_WHIP | 2.0678 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.7750 | 1.8682 | model_form_blend |
| predicted_ER | 3.0000 | 2.8670 | 2.9221 | model_form_blend |
| predicted_ERA | - | 8.6181 | 8.6181 | form_only |
| predicted_H | 4.0000 | 4.4150 | 4.2432 | model_form_blend |
| predicted_HR | 0.0000 | 0.6470 | 0.3791 | model_form_blend |
| predicted_IP | 1.0000 | 3.0000 | 2.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.5450 | 1.3194 | model_form_blend |
| predicted_WHIP | - | 2.0678 | 2.0678 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 9 |
| Pitches | 33 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 7.13 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260901_TOR@CLE |
| game_type | full |
| mlbID | 547179 |
| playerID | 547179 |
| playerName | Michael Lorenzen |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-01 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.403 |
| sl_xwoba | 0.371 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 44.3 |
| sl_avg_best_speed | 80.823164055 |
| sl_avg_hyper_speed | 95.327867995 |
| 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.203 | 0.000 | -0.203 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.828 | 0.000 | -0.828 | 0.000 |
| predicted_IP | 0.200 | 1.000 | 0.200 | Pitching_InningsPitched | 0.891 | 0.200 | 0.109 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.547 | 2.000 | 0.453 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "643511",
"player_name": "Tyler Rogers",
"position": "Middle Reliever (High Leverage)",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 7.000 | 1.000 | 6.000 | 1.000 | 6.2308 | 1.8462 | 0.6923 | 1.6154 | 0.2308 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 11.000 | 4.000 | 8.000 | 1.000 | 2.7931 | 1.5517 | 0.3103 | 1.1379 | 0.4138 | 0.8276 | 0.1035 |
| season | 0.20 | 64 | 61.200 | 13.000 | 53.000 | 21.000 | 35.000 | 1.000 | 1.8973 | 1.2000 | 0.2108 | 0.8595 | 0.3405 | 0.5676 | 0.0162 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3320 |
| predicted_ER | 0.4720 |
| predicted_ERA | 4.2521 |
| predicted_H | 1.2040 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0010 |
| predicted_WHIP | 1.5362 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3320 | 0.1755 | model_form_blend |
| predicted_ER | 0.0000 | 0.4720 | 0.2495 | model_form_blend |
| predicted_ERA | - | 4.2521 | 4.2521 | form_only |
| predicted_H | 0.0000 | 1.2040 | 0.6364 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0761 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0010 | 1.0005 | model_form_blend |
| predicted_WHIP | - | 1.5362 | 1.5362 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 64 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.90 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260829_SEA@TOR |
| game_type | full |
| mlbID | 643511 |
| playerID | 643511 |
| playerName | Tyler Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-08-29 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.253 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 22.6 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 27.6 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 71.955932577 |
| sl_avg_hyper_speed | 92.488699433 |
| 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 | 1.000 | 0.000 | Pitching_BB | 0.488 | 0.000 | 0.512 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.628 | 0.000 | -0.628 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.651 | 1.000 | -1.651 | -1.000 |
| predicted_IP | 0.000 | 1.200 | 0.000 | Pitching_InningsPitched | 1.809 | 1.000 | -0.609 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.791 | 0.000 | -1.791 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.2000 (boost 1.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.2000 (boost 1.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "693686",
"player_name": "Spencer Miles",
"position": "Middle Reliever (High Leverage)",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.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.2,
"delta": 1.1,
"percent_delta": 11.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.2,
"delta": 1.1,
"percent_delta": 11.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.2,
"delta": 1.1,
"percent_delta": 11.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.100 | 0.000 | 3.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.5625 | 0.1875 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 0.000 | 7.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.8276 | 0.0000 | 0.7241 | 0.1035 | 0.6207 | 0.0000 |
| season | 0.20 | 43 | 84.100 | 27.000 | 71.000 | 21.000 | 77.000 | 5.000 | 2.8814 | 1.0909 | 0.3202 | 0.8419 | 0.2490 | 0.9130 | 0.0593 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2170 |
| predicted_ER | 0.1630 |
| predicted_ERA | 1.4651 |
| predicted_H | 0.7450 |
| predicted_HR | 0.0430 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7850 |
| predicted_WHIP | 0.9588 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2170 | 0.1202 | model_form_blend |
| predicted_ER | 0.0000 | 0.1630 | 0.0903 | model_form_blend |
| predicted_ERA | - | 1.4651 | 1.4651 | form_only |
| predicted_H | 0.0000 | 0.7450 | 0.4125 | model_form_blend |
| predicted_HR | 0.0000 | 0.0430 | 0.0238 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7850 | 0.4347 | model_form_blend |
| predicted_WHIP | - | 0.9588 | 0.9588 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 43 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 37 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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.88 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260901_TOR@CLE |
| game_type | full |
| mlbID | 693686 |
| playerID | 693686 |
| playerName | Spencer Miles |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-09-01 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.26 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 34.9 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 47.9 |
| sl_avg_best_speed | 75.661938417 |
| sl_avg_hyper_speed | 92.988206736 |
| Field | Value |
|---|---|
| Pitcher | Tanner Bibee |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1648 |
| ESPN Rank | 60 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1252 |
| Avg Velo | 87.6329 |
| Avg Spin | 2307.0596 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 3 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 9 |
| Season ERA | 3.8809 |
| Season WHIP | 1.1581 |
| Role Avg IP | 5.7980 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"opponent": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"edges": {
"quality_edge": 0.0755,
"offense_edge": -0.0995,
"opponent_offense_edge": -0.1107,
"defense_strength": 0.0949,
"opponent_defense_weakness": -0.0426,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0103,
"run_prevention": 0.969,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676440",
"profile": {
"available": true,
"pitcher_id": "676440",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 582.0,
"k_percent": 19.3,
"bb_percent": 6.9,
"woba": 0.305,
"xwoba": 0.319,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 39.9,
"avg_best_speed": 78.9158,
"avg_hyper_speed": 94.0339,
"whiff_percent": 23.8,
"swing_percent": 47.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": -0.1459,
"command_and_miss": -0.1271,
"regression_edge": -0.4,
"xwoba_edge": -0.2286,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.3,
"whiff_edge": -0.2,
"bb_edge": 0.55,
"pitch_design_score": -0.1252
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676440",
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.6329,
"release_spin_rate": 2307.0596,
"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.1252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8941,
"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.1648,
"sample_weight": 1.0,
"run_prevention_factor": 1.014,
"strikeout_factor": 0.9771,
"walk_factor": 0.956,
"homer_factor": 1.0331,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676440",
"espn_id": 4345278,
"player_name": "Tanner Bibee",
"team": "CLE",
"role": "pitcher",
"espn_rank": 60,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 60,
"gp_value": 28.0,
"gp_rank": 229,
"gs_value": 28.0,
"gs_rank": 6,
"qs_value": 17.0,
"qs_rank": 5,
"era_value": 3.8809,
"era_rank": 30.0,
"w_value": 5.0,
"w_rank": 136,
"l_value": 14.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 245,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 162.1,
"ip_rank": 9,
"h_value": 142.0,
"h_rank": 22,
"er_value": 70.0,
"er_rank": 21,
"hr_value": 26.0,
"hr_rank": 8,
"bb_value": 46.0,
"bb_rank": 46,
"k_value": 128.0,
"k_rank": 50,
"k_per_9_value": 7.0965095,
"k_per_9_rank": 150,
"whip_value": 1.1581,
"whip_rank": 23.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.014,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.014,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.956,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0331,
"adjusted": 1
},
"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": 60.0,
"ER": 28,
"H": 57,
"BB": 17,
"SO": 45,
"HR": 9,
"ERA": 4.2,
"WHIP": 1.2333333333333334,
"K9": 6.750000000000001,
"HR9": 1.35,
"games_pitched": 10,
"quality_starts": 7,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "676440",
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.63291987951403,
"release_spin_rate": 2307.0595731062376,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.6329,
"release_spin_rate": 2307.0596,
"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.1252,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8941,
"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": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "676440",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 14.0,
"R": 16.0,
"H": 28.0,
"BB": 8.0,
"SO": 28.0,
"HR": 6.0,
"BF": 127.0,
"Pitches": 479.0
},
"per_game": {
"IP": 6.0,
"ER": 2.8,
"R": 3.2,
"H": 5.6,
"BB": 1.6,
"SO": 5.6,
"HR": 1.2,
"BF": 25.4,
"Pitches": 95.8
},
"rates": {
"ERA": 4.2,
"WHIP": 1.2,
"ER_per_IP": 0.46667,
"H_per_IP": 0.93333,
"BB_per_IP": 0.26667,
"SO_per_IP": 0.93333,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.0,
"ER": 28.0,
"R": 30.0,
"H": 57.0,
"BB": 17.0,
"SO": 45.0,
"HR": 9.0,
"BF": 253.0,
"Pitches": 937.0
},
"per_game": {
"IP": 6.0,
"ER": 2.8,
"R": 3.0,
"H": 5.7,
"BB": 1.7,
"SO": 4.5,
"HR": 0.9,
"BF": 25.3,
"Pitches": 93.7
},
"rates": {
"ERA": 4.2,
"WHIP": 1.2333,
"ER_per_IP": 0.46667,
"H_per_IP": 0.95,
"BB_per_IP": 0.28333,
"SO_per_IP": 0.75,
"HR_per_IP": 0.15
}
},
"season": {
"games": 28,
"totals": {
"IP": 162.1,
"ER": 70.0,
"R": 74.0,
"H": 142.0,
"BB": 46.0,
"SO": 128.0,
"HR": 26.0,
"BF": 664.0,
"Pitches": 2532.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5,
"R": 2.6429,
"H": 5.0714,
"BB": 1.6429,
"SO": 4.5714,
"HR": 0.9286,
"BF": 23.7143,
"Pitches": 90.4286
},
"rates": {
"ERA": 3.8809,
"WHIP": 1.1581,
"ER_per_IP": 0.43121,
"H_per_IP": 0.87474,
"BB_per_IP": 0.28337,
"SO_per_IP": 0.7885,
"HR_per_IP": 0.16016
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.766,
"predicted_H": 5.553,
"predicted_BB": 1.725,
"predicted_SO": 5.083,
"predicted_HR": 1.012,
"predicted_ERA": 4.188,
"predicted_WHIP": 1.2245
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.766,
"final": 2.4489,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.553,
"final": 6.1521,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.725,
"final": 1.4248,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 5.083,
"final": 6.2907,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.012,
"final": 0.593,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.188,
"final": 4.188,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2245,
"final": 1.2245,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cade Smith |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4569 |
| ESPN Rank | 94 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1880 |
| Avg Velo | 93.2252 |
| Avg Spin | 1901.8288 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.3607 |
| Season WHIP | 1.0820 |
| Role Avg IP | 1.0520 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"opponent": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"edges": {
"quality_edge": 0.0755,
"offense_edge": -0.0995,
"opponent_offense_edge": -0.1107,
"defense_strength": 0.0949,
"opponent_defense_weakness": -0.0426,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0103,
"run_prevention": 0.969,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671922",
"profile": {
"available": true,
"pitcher_id": "671922",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 224.0,
"k_percent": 34.3,
"bb_percent": 8.4,
"woba": 0.264,
"xwoba": 0.275,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 46.0,
"avg_best_speed": 82.3066,
"avg_hyper_speed": 94.9816,
"whiff_percent": 34.4,
"swing_percent": 49.0
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.34,
"command_and_miss": 1.2921,
"regression_edge": -0.3143,
"xwoba_edge": 1.0286,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.1714,
"whiff_edge": 1.3143,
"bb_edge": 0.175,
"pitch_design_score": 0.188
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "671922",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 93.22520707587863,
"release_spin_rate": 1901.8288082773292,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 93.22520707587863,
"release_spin_rate": 1901.8288082773292,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2252,
"release_spin_rate": 1901.8288,
"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.188,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3428,
"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.4569,
"sample_weight": 0.896,
"run_prevention_factor": 0.9612,
"strikeout_factor": 1.1106,
"walk_factor": 0.9875,
"homer_factor": 1.0446,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671922",
"espn_id": 4987924,
"player_name": "Cade Smith",
"team": "CLE",
"role": "pitcher",
"espn_rank": 94,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 94,
"gp_value": 58.0,
"gp_rank": 42,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.3606,
"era_rank": null,
"w_value": 3.0,
"w_rank": 236,
"l_value": 1.0,
"l_rank": 420,
"sv_value": 35.0,
"sv_rank": 2,
"hld_value": 0.0,
"hld_rank": 345,
"ip_value": 61.0,
"ip_rank": 210,
"h_value": 45.0,
"h_rank": 263,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 21.0,
"bb_rank": 261,
"k_value": 86.0,
"k_rank": 129,
"k_per_9_value": 12.688525,
"k_per_9_rank": 16,
"whip_value": 1.0819,
"whip_rank": null,
"war_value": 1.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9652,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9652,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9888,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.04,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0991,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 2,
"H": 5,
"BB": 5,
"SO": 15,
"HR": 1,
"ERA": 1.8620689655172415,
"WHIP": 1.0344827586206897,
"K9": 13.965517241379311,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-30T00:00:00"
}{
"available": true,
"pitcher_id": "671922",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 93.22520707587863,
"release_spin_rate": 1901.8288082773292,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 93.22520707587863,
"release_spin_rate": 1901.8288082773292,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2252,
"release_spin_rate": 1901.8288,
"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.188,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3428,
"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.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7103,
"prior_weight": 0.2897
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "671922",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 58,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.2
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 5.0,
"SO": 15.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.5,
"SO": 1.5,
"HR": 0.1,
"BF": 4.2,
"Pitches": 17.9
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.0345,
"ER_per_IP": 0.2069,
"H_per_IP": 0.51724,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.55172,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 58,
"totals": {
"IP": 61.0,
"ER": 16.0,
"R": 20.0,
"H": 45.0,
"BB": 21.0,
"SO": 86.0,
"HR": 5.0,
"BF": 251.0,
"Pitches": 1064.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2759,
"R": 0.3448,
"H": 0.7759,
"BB": 0.3621,
"SO": 1.4828,
"HR": 0.0862,
"BF": 4.3276,
"Pitches": 18.3448
},
"rates": {
"ERA": 2.3607,
"WHIP": 1.082,
"ER_per_IP": 0.2623,
"H_per_IP": 0.7377,
"BB_per_IP": 0.34426,
"SO_per_IP": 1.40984,
"HR_per_IP": 0.08197
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.361,
"predicted_H": 0.643,
"predicted_BB": 0.477,
"predicted_SO": 1.306,
"predicted_HR": 0.144,
"predicted_ERA": 3.2463,
"predicted_WHIP": 1.1198
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4724,
"form_weight": 0.5276,
"form_reliability": 0.7103,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7103,
"prior_weight": 0.2897
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.361,
"final": 0.1905,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.643,
"final": 0.3392,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.477,
"final": 0.7241,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.306,
"final": 0.689,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.076,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2463,
"final": 3.2463,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1198,
"final": 1.1198,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Sabrowski |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3954 |
| ESPN Rank | 211 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0326 |
| Avg Velo | 90.4510 |
| Avg Spin | 2574.0787 |
| 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 | 2.7458 |
| Season WHIP | 1.1441 |
| Role Avg IP | 0.8030 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"opponent": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"edges": {
"quality_edge": 0.0755,
"offense_edge": -0.0995,
"opponent_offense_edge": -0.1107,
"defense_strength": 0.0949,
"opponent_defense_weakness": -0.0426,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0103,
"run_prevention": 0.969,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681870",
"profile": {
"available": true,
"pitcher_id": "681870",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 147.0,
"k_percent": 38.5,
"bb_percent": 15.4,
"woba": 0.278,
"xwoba": 0.261,
"sweet_spot_percent": 45.5,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 35.1,
"avg_best_speed": 79.0123,
"avg_hyper_speed": 93.7074,
"whiff_percent": 33.0,
"swing_percent": 46.6
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.5792,
"command_and_miss": 1.1421,
"regression_edge": 0.4857,
"xwoba_edge": 1.4286,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.3857,
"whiff_edge": 1.1143,
"bb_edge": -1.575,
"pitch_design_score": 0.0326
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681870",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.45095873895434,
"release_spin_rate": 2574.0787053130066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.45095873895434,
"release_spin_rate": 2574.0787053130066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.451,
"release_spin_rate": 2574.0787,
"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.2331,
"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.3954,
"sample_weight": 0.588,
"run_prevention_factor": 0.9664,
"strikeout_factor": 1.082,
"walk_factor": 1.0741,
"homer_factor": 0.972,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681870",
"espn_id": 5194333,
"player_name": "Erik Sabrowski",
"team": "CLE",
"role": "pitcher",
"espn_rank": 211,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 211,
"gp_value": 51.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.9745,
"era_rank": null,
"w_value": 5.0,
"w_rank": 136,
"l_value": 2.0,
"l_rank": 318,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 23.0,
"hld_rank": 8,
"ip_value": 39.1,
"ip_rank": 364,
"h_value": 25.0,
"h_rank": 448,
"er_value": 13.0,
"er_rank": 451,
"hr_value": 3.0,
"hr_rank": 431,
"bb_value": 26.0,
"bb_rank": 200,
"k_value": 65.0,
"k_rank": 192,
"k_per_9_value": 14.872881,
"k_per_9_rank": 14,
"whip_value": 1.2966,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9802,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0436,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9835,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0482,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 0,
"H": 3,
"BB": 4,
"SO": 12,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.875,
"K9": 13.5,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "681870",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.45095873895434,
"release_spin_rate": 2574.0787053130066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.45095873895434,
"release_spin_rate": 2574.0787053130066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.451,
"release_spin_rate": 2574.0787,
"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.2331,
"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.906,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6126,
"prior_weight": 0.3874
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681870",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 49,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6923,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.3,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.875,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.5,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 49,
"totals": {
"IP": 39.1,
"ER": 12.0,
"R": 14.0,
"H": 23.0,
"BB": 22.0,
"SO": 65.0,
"HR": 3.0,
"BF": 163.0,
"Pitches": 672.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2449,
"R": 0.2857,
"H": 0.4694,
"BB": 0.449,
"SO": 1.3265,
"HR": 0.0612,
"BF": 3.3265,
"Pitches": 13.7143
},
"rates": {
"ERA": 2.7458,
"WHIP": 1.1441,
"ER_per_IP": 0.30508,
"H_per_IP": 0.58475,
"BB_per_IP": 0.55932,
"SO_per_IP": 1.65254,
"HR_per_IP": 0.07627
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.204,
"predicted_H": 0.583,
"predicted_BB": 0.34,
"predicted_SO": 1.127,
"predicted_HR": 0.059,
"predicted_ERA": 2.0713,
"predicted_WHIP": 1.0391
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5137,
"form_weight": 0.4863,
"form_reliability": 0.6126,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.906,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6126,
"prior_weight": 0.3874
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.204,
"final": 0.0992,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.583,
"final": 0.7972,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.34,
"final": 0.1653,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.127,
"final": 0.5481,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0287,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0713,
"final": 2.0713,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0391,
"final": 1.0391,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hunter Gaddis |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0961 |
| ESPN Rank | 171 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.8521 |
| Season WHIP | 1.2042 |
| Role Avg IP | 0.8770 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"opponent": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"edges": {
"quality_edge": 0.0755,
"offense_edge": -0.0995,
"opponent_offense_edge": -0.1107,
"defense_strength": 0.0949,
"opponent_defense_weakness": -0.0426,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0103,
"run_prevention": 0.969,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683769",
"profile": {
"available": true,
"pitcher_id": "683769",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 182.0,
"k_percent": 22.4,
"bb_percent": 9.3,
"woba": 0.29,
"xwoba": 0.309,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 30.7,
"avg_best_speed": 77.3446,
"avg_hyper_speed": 92.3331,
"whiff_percent": 30.8,
"swing_percent": 51.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.1924,
"command_and_miss": 0.3021,
"regression_edge": -0.5429,
"xwoba_edge": 0.0571,
"barrel_edge": -0.1556,
"hard_hit_edge": 1.0143,
"whiff_edge": 0.8,
"bb_edge": -0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0961,
"sample_weight": 0.728,
"run_prevention_factor": 0.9918,
"strikeout_factor": 1.0254,
"walk_factor": 1.0029,
"homer_factor": 0.9783,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683769",
"espn_id": 4187661,
"player_name": "Hunter Gaddis",
"team": "CLE",
"role": "pitcher",
"espn_rank": 171,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 171,
"gp_value": 55.0,
"gp_rank": 63,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 3.0422,
"era_rank": null,
"w_value": 2.0,
"w_rank": 303,
"l_value": 3.0,
"l_rank": 229,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 28.0,
"hld_rank": 3,
"ip_value": 47.1,
"ip_rank": 303,
"h_value": 42.0,
"h_rank": 292,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 5.0,
"hr_rank": 303,
"bb_value": 19.0,
"bb_rank": 300,
"k_value": 46.0,
"k_rank": 302,
"k_per_9_value": 8.746479,
"k_per_9_rank": 26,
"whip_value": 1.2887,
"whip_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.994,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.994,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0185,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 1,
"H": 4,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 0.8275862068965518,
"K9": 10.241379310344827,
"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-09-01T00:00:00"
}{
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6555,
"prior_weight": 0.3445
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683769",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 54,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 49.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 3.4,
"Pitches": 9.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 130.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 3.7,
"Pitches": 13.0
},
"rates": {
"ERA": 0.931,
"WHIP": 0.8276,
"ER_per_IP": 0.10345,
"H_per_IP": 0.41379,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.0
}
},
"season": {
"games": 54,
"totals": {
"IP": 47.1,
"ER": 15.0,
"R": 15.0,
"H": 40.0,
"BB": 17.0,
"SO": 46.0,
"HR": 5.0,
"BF": 201.0,
"Pitches": 766.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2778,
"R": 0.2778,
"H": 0.7407,
"BB": 0.3148,
"SO": 0.8519,
"HR": 0.0926,
"BF": 3.7222,
"Pitches": 14.1852
},
"rates": {
"ERA": 2.8521,
"WHIP": 1.2042,
"ER_per_IP": 0.3169,
"H_per_IP": 0.84507,
"BB_per_IP": 0.35915,
"SO_per_IP": 0.97183,
"HR_per_IP": 0.10563
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.237,
"predicted_H": 0.667,
"predicted_BB": 0.333,
"predicted_SO": 0.965,
"predicted_HR": 0.064,
"predicted_ERA": 2.1303,
"predicted_WHIP": 1.0002
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4956,
"form_weight": 0.5044,
"form_reliability": 0.6555,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.514,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6555,
"prior_weight": 0.3445
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.237,
"final": 0.1196,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.667,
"final": 0.3365,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.333,
"final": 0.168,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.965,
"final": 0.4868,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0323,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1303,
"final": 2.1303,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0002,
"final": 1.0002,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Colin Holderman |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1163 |
| ESPN Rank | 148 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0970 |
| Avg Velo | 91.6008 |
| Avg Spin | 2426.5290 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.0637 |
| Season WHIP | 0.9172 |
| Role Avg IP | 1.0260 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 139,
"wins": 70,
"losses": 69,
"win_pct": 0.5036,
"runs_scored": 563.0,
"runs_allowed": 571.0,
"run_differential": -8.0,
"run_differential_per_game": -0.0576,
"avg_runs_scored": 4.0504,
"avg_runs_allowed": 4.1079,
"offense_index": 0.9005,
"defense_index": 1.0949,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.0,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.066
},
"opponent": {
"team": "TOR",
"games": 140,
"wins": 69,
"losses": 71,
"win_pct": 0.4929,
"runs_scored": 560.0,
"runs_allowed": 604.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3143,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.3143,
"offense_index": 0.8893,
"defense_index": 1.0426,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.9,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0095
},
"edges": {
"quality_edge": 0.0755,
"offense_edge": -0.0995,
"opponent_offense_edge": -0.1107,
"defense_strength": 0.0949,
"opponent_defense_weakness": -0.0426,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0103,
"run_prevention": 0.969,
"strikeout": 1.0111
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670059",
"profile": {
"available": true,
"pitcher_id": "670059",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 194.0,
"k_percent": 22.9,
"bb_percent": 8.7,
"woba": 0.251,
"xwoba": 0.304,
"sweet_spot_percent": 24.5,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 44.6,
"avg_best_speed": 74.9891,
"avg_hyper_speed": 94.6276,
"whiff_percent": 27.4,
"swing_percent": 44.4
},
"league_medians": {
"pa": 119.0,
"k_percent": 21.9,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 37.8,
"avg_best_speed": 77.6451,
"avg_hyper_speed": 93.9069,
"whiff_percent": 25.2,
"swing_percent": 47.3
},
"components": {
"contact_quality": 0.4339,
"command_and_miss": 0.1943,
"regression_edge": -1.5143,
"xwoba_edge": 0.2,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.9714,
"whiff_edge": 0.3143,
"bb_edge": 0.1,
"pitch_design_score": 0.097
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670059",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.60079289332963,
"release_spin_rate": 2426.5289722779908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.60079289332963,
"release_spin_rate": 2426.5289722779908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6008,
"release_spin_rate": 2426.529,
"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.097,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6931,
"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.1163,
"sample_weight": 0.776,
"run_prevention_factor": 0.9901,
"strikeout_factor": 1.0142,
"walk_factor": 0.9938,
"homer_factor": 1.0352,
"woba_minus_xwoba": -0.053,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "670059",
"espn_id": 4917897,
"player_name": "Colin Holderman",
"team": "CLE",
"role": "pitcher",
"espn_rank": 148,
"espn_total_ranked": 851,
"metrics": {
"espn_rank": 148,
"gp_value": 53.0,
"gp_rank": 74,
"gs_value": 0.0,
"gs_rank": 357,
"qs_value": 0.0,
"qs_rank": 207,
"era_value": 2.7515,
"era_rank": null,
"w_value": 6.0,
"w_rank": 100,
"l_value": 4.0,
"l_rank": 170,
"sv_value": 1.0,
"sv_rank": 133,
"hld_value": 11.0,
"hld_rank": 70,
"ip_value": 52.1,
"ip_rank": 276,
"h_value": 34.0,
"h_rank": 366,
"er_value": 16.0,
"er_rank": 382,
"hr_value": 1.0,
"hr_rank": 602,
"bb_value": 19.0,
"bb_rank": 300,
"k_value": 50.0,
"k_rank": 281,
"k_per_9_value": 8.598725,
"k_per_9_rank": 27,
"whip_value": 1.0127,
"whip_rank": null,
"war_value": 1.19,
"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": 0.0,
"factor": 0.9952,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0273,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.011,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 5,
"H": 10,
"BB": 4,
"SO": 8,
"HR": 0,
"ERA": 5.1923076923076925,
"WHIP": 1.6153846153846154,
"K9": 8.307692307692308,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-29T00:00:00"
}{
"available": true,
"pitcher_id": "670059",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.60079289332963,
"release_spin_rate": 2426.5289722779908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.60079289332963,
"release_spin_rate": 2426.5289722779908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6008,
"release_spin_rate": 2426.529,
"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.097,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6931,
"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.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "670059",
"report_date": "20260903",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 4.0,
"H": 6.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 86.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.8,
"H": 1.2,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.2
},
"rates": {
"ERA": 6.75,
"WHIP": 2.0,
"ER_per_IP": 0.75,
"H_per_IP": 1.5,
"BB_per_IP": 0.5,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 6.0,
"H": 12.0,
"BB": 4.0,
"SO": 9.0,
"HR": 0.0,
"BF": 52.0,
"Pitches": 193.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6,
"H": 1.2,
"BB": 0.4,
"SO": 0.9,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.3
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.5484,
"ER_per_IP": 0.48387,
"H_per_IP": 1.16129,
"BB_per_IP": 0.3871,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"season": {
"games": 51,
"totals": {
"IP": 52.1,
"ER": 12.0,
"R": 14.0,
"H": 30.0,
"BB": 18.0,
"SO": 50.0,
"HR": 1.0,
"BF": 211.0,
"Pitches": 806.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2353,
"R": 0.2745,
"H": 0.5882,
"BB": 0.3529,
"SO": 0.9804,
"HR": 0.0196,
"BF": 4.1373,
"Pitches": 15.8039
},
"rates": {
"ERA": 2.0637,
"WHIP": 0.9172,
"ER_per_IP": 0.2293,
"H_per_IP": 0.57325,
"BB_per_IP": 0.34395,
"SO_per_IP": 0.95541,
"HR_per_IP": 0.01911
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.366,
"predicted_H": 0.768,
"predicted_BB": 0.281,
"predicted_SO": 0.645,
"predicted_HR": 0.034,
"predicted_ERA": 4.8145,
"predicted_WHIP": 1.5346
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4861,
"form_weight": 0.5139,
"form_reliability": 0.6778,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.519,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6778,
"prior_weight": 0.3222
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.366,
"final": 0.6742,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.768,
"final": 1.3669,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.281,
"final": 0.1444,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.645,
"final": 0.3314,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.034,
"final": 0.0175,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8145,
"final": 4.8145,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5346,
"final": 1.5346,
"source": "form_only"
}
}
}{
"available": false,
"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.235 | 1.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | 0.771 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.735 | 5.000 | 4.000 | Hitting_AB | 3.752 | 3.000 | 1.248 | 2.000 |
| predicted_AVG | 0.241 | 0.200 | 0.250 | Hitting_AVG | 0.241 | 0.000 | -0.041 | 0.200 |
| predicted_BB | 0.539 | 0.000 | 1.000 | Hitting_BB | 0.593 | 0.000 | -0.593 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.902 | 1.000 | 1.000 | Hitting_H | 0.906 | 0.000 | 0.094 | 1.000 |
| predicted_HR | 0.108 | 0.000 | 1.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.337 | 0.200 | 0.400 | Hitting_OBP | 0.344 | 0.000 | -0.144 | 0.200 |
| predicted_R | 0.578 | 1.000 | 1.000 | Hitting_R | 0.614 | 0.000 | 0.386 | 1.000 |
| predicted_RBI | 0.471 | 2.000 | 1.000 | Hitting_RBI | 0.448 | 0.000 | 1.552 | 2.000 |
| predicted_SLG | 0.391 | 0.400 | 1.000 | Hitting_SLG | 0.391 | 0.000 | 0.009 | 0.400 |
| predicted_SO | 0.569 | 3.000 | 0.000 | Hitting_SO | 0.528 | 0.000 | 2.472 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.5690 -> 3.0000 (boost 2.4310, worse) |
| Biggest Deboost | predicted_BB: 0.5390 -> 0.0000 (deboost -0.5390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_RBI: 0.4710 -> 0.5314 (boost 0.0604, better) | predicted_BB: 0.5390 -> 0.4782 (deboost -0.0608, worse) | Final model input calibrated with local 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 | 5 | 2 | 4 | 3 | predicted_BB: 0.4774 -> 1.0000 (boost 0.5226, better) | predicted_2B: 0.2432 -> 0.0000 (deboost -0.2432, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.240 HR/AB=0.030 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5594 -> 1.0000 (boost 0.4406, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 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) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_BB: 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 | 4 | 0 | 3 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4850 -> 0.3968 (deboost -0.0882, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608070",
"player_name": "José Ramírez",
"position": "DH",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 3.735,
"predicted_AVG": 0.241,
"predicted_BB": 0.539,
"predicted_H": 0.902,
"predicted_HR": 0.108,
"predicted_OBP": 0.337,
"predicted_R": 0.578,
"predicted_RBI": 0.471,
"predicted_SLG": 0.391,
"predicted_SO": 0.569
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2432,
"predicted_3B": 0.0004,
"predicted_AB": 3.7557,
"predicted_AVG": 0.242,
"predicted_BB": 0.4782,
"predicted_H": 0.9098,
"predicted_HBP": 0.013,
"predicted_HR": 0.1158,
"predicted_OBP": 0.3254,
"predicted_R": 0.5651,
"predicted_RBI": 0.5314,
"predicted_SLG": 0.3997,
"predicted_SO": 0.563
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2432,
"delta": 0.0082,
"percent_delta": 0.0349,
"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.735,
"after": 3.7557,
"delta": 0.0207,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.242,
"delta": 0.001,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.539,
"after": 0.4782,
"delta": -0.0608,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 0.9098,
"delta": 0.0078,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.108,
"after": 0.1158,
"delta": 0.0078,
"percent_delta": 0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3254,
"delta": -0.0116,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 0.5651,
"delta": -0.0129,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.471,
"after": 0.5314,
"delta": 0.0604,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3997,
"delta": 0.0087,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.569,
"after": 0.563,
"delta": -0.006,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.471,
"after": 0.5314,
"delta": 0.0604,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.539,
"after": 0.4782,
"delta": -0.0608,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 102
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2432,
"predicted_3B": 0.0004,
"predicted_AB": 3.7557,
"predicted_AVG": 0.2405,
"predicted_BB": 0.4774,
"predicted_H": 0.9032,
"predicted_HBP": 0.013,
"predicted_HR": 0.1144,
"predicted_OBP": 0.3261,
"predicted_R": 0.5594,
"predicted_RBI": 0.5261,
"predicted_SLG": 0.3968,
"predicted_SO": 0.564
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2432,
"after": 0.2432,
"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.7557,
"after": 3.7557,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2405,
"delta": -0.0015,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4782,
"after": 0.4774,
"delta": -0.0008,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9098,
"after": 0.9032,
"delta": -0.0066,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1158,
"after": 0.1144,
"delta": -0.0014,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3254,
"after": 0.3261,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5651,
"after": 0.5594,
"delta": -0.0057,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5314,
"after": 0.5261,
"delta": -0.0053,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3997,
"after": 0.3968,
"delta": -0.0029,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.563,
"after": 0.564,
"delta": 0.001,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.240 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2432,
"after": 0.0,
"delta": -0.2432,
"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.7557,
"after": 4.0,
"delta": 0.2443,
"percent_delta": 0.065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4774,
"after": 1.0,
"delta": 0.5226,
"percent_delta": 1.0947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9032,
"after": 1.0,
"delta": 0.0968,
"percent_delta": 0.1072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1144,
"after": 0.0,
"delta": -0.1144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5261,
"after": 1.0,
"delta": 0.4739,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"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_BB",
"before": 0.4774,
"after": 1.0,
"delta": 0.5226,
"percent_delta": 1.0947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2432,
"after": 0.0,
"delta": -0.2432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.8791,
"bvp": 0.1209
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5594,
"after": 1.0,
"delta": 0.4406,
"percent_delta": 0.7876,
"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.5594,
"after": 1.0,
"delta": 0.4406,
"percent_delta": 0.7876,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the 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.329,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.485,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.249,
"delta": 0.0085,
"percent_delta": 0.0353,
"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_H",
"before": 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.3261,
"after": 0.329,
"delta": 0.0029,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3968,
"after": 0.485,
"delta": 0.0882,
"percent_delta": 0.2223,
"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": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"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_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": "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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"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.2405,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3261,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3968,
"predicted_SO": 3.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.249,
"after": 0.2405,
"delta": -0.0085,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3261,
"delta": -0.0029,
"percent_delta": -0.0087,
"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.485,
"after": 0.3968,
"delta": -0.0882,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.3968,
"delta": -0.0882,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"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.735,
"after": 5.0,
"delta": 1.265,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2405,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.539,
"after": 0.0,
"delta": -0.539,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 1.0,
"delta": 0.098,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3261,
"delta": -0.0109,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.578,
"after": 1.0,
"delta": 0.422,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.471,
"after": 2.0,
"delta": 1.529,
"percent_delta": 3.2463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3968,
"delta": 0.0058,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.569,
"after": 3.0,
"delta": 2.431,
"percent_delta": 4.2724,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.569,
"after": 3.0,
"delta": 2.431,
"percent_delta": 4.2724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.539,
"after": 0.0,
"delta": -0.539,
"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.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.735 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.539 | - |
| predicted_H | 0.902 | - |
| predicted_HR | 0.108 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.578 | - |
| predicted_RBI | 0.471 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.569 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.243 | 0.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.756 | 0.021 |
| predicted_AVG | 0.242 | 0.001 |
| predicted_BB | 0.478 | -0.061 |
| predicted_H | 0.910 | 0.008 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.116 | 0.008 |
| predicted_OBP | 0.325 | -0.012 |
| predicted_R | 0.565 | -0.013 |
| predicted_RBI | 0.531 | 0.060 |
| predicted_SLG | 0.400 | 0.009 |
| predicted_SO | 0.563 | -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.243 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.756 | 0.000 |
| predicted_AVG | 0.240 | -0.002 |
| predicted_BB | 0.477 | -0.001 |
| predicted_H | 0.903 | -0.007 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.114 | -0.001 |
| predicted_OBP | 0.326 | 0.001 |
| predicted_R | 0.559 | -0.006 |
| predicted_RBI | 0.526 | -0.005 |
| predicted_SLG | 0.397 | -0.003 |
| predicted_SO | 0.564 | 0.001 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.240 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 1.000 | 1.000 |
| R | 1.000 | 0.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.243 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.244 |
| predicted_AVG | 0.249 | 0.009 |
| predicted_BB | 0.000 | -0.477 |
| predicted_H | 1.000 | 0.097 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.329 | 0.003 |
| predicted_R | 1.000 | 0.441 |
| predicted_RBI | 1.000 | 0.474 |
| predicted_SLG | 0.485 | 0.088 |
| predicted_SO | 1.000 | 0.436 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 1.000 | 0.2222 | 0.2500 | 0.4444 | 0.2222 | 0.0556 | 0.2222 | 0.0556 | 0.0556 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 4.000 | 0.000 | 1.000 | 9.000 | 4.000 | 2.000 | 8.000 | 0.2683 | 0.2955 | 0.4390 | 0.2683 | 0.0244 | 0.2195 | 0.0488 | 0.1951 |
| season | 0.60 | 102 | - | 381.000 | 92.000 | 24.000 | 0.000 | 11.000 | 48.000 | 59.000 | 55.000 | 58.000 | 0.2415 | 0.3356 | 0.3911 | 0.2415 | 0.0289 | 0.1260 | 0.1444 | 0.1522 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2540 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7830 |
| predicted_AVG | 0.2433 |
| predicted_BB | 0.3980 |
| predicted_H | 0.9200 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.3102 |
| predicted_R | 0.5480 |
| predicted_RBI | 0.6110 |
| predicted_SLG | 0.4111 |
| predicted_SO | 0.5550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2540 | 0.2432 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7350 | 3.7830 | 3.7557 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2433 | 0.2420 | model_form_blend |
| predicted_BB | 0.5390 | 0.3980 | 0.4782 | model_form_blend |
| predicted_H | 0.9020 | 0.9200 | 0.9098 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1080 | 0.1260 | 0.1158 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3102 | 0.3254 | model_form_blend |
| predicted_R | 0.5780 | 0.5480 | 0.5651 | model_form_blend |
| predicted_RBI | 0.4710 | 0.6110 | 0.5314 | model_form_blend |
| predicted_SLG | 0.3910 | 0.4111 | 0.3997 | model_form_blend |
| predicted_SO | 0.5690 | 0.5550 | 0.5630 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 415 |
| Season rows before report date | 415 |
| Report year | 2026 |
| Profile rows used | 102 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 2 |
| 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 608070 |
| playerID | 608070 |
| playerName | José Ramírez |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.342 |
| sl_xba | 0.279 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 15.7 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.137 | 1.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | 0.852 | 1.000 |
| predicted_3B | 0.016 | 1.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | 0.990 | 1.000 |
| predicted_AB | 3.589 | 5.000 | 4.000 | Hitting_AB | 3.656 | 3.000 | 1.344 | 2.000 |
| predicted_AVG | 0.272 | 0.800 | 0.250 | Hitting_AVG | 0.267 | 0.000 | 0.533 | 0.800 |
| predicted_BB | 0.548 | 0.000 | 1.000 | Hitting_BB | 0.573 | 0.000 | -0.573 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.976 | 4.000 | 1.000 | Hitting_H | 0.976 | 0.000 | 3.024 | 4.000 |
| predicted_HR | 0.016 | 0.000 | 0.000 | Hitting_HR | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_OBP | 0.368 | 0.800 | 0.400 | Hitting_OBP | 0.368 | 0.000 | 0.432 | 0.800 |
| predicted_R | 0.532 | 1.000 | 1.000 | Hitting_R | 0.559 | 0.000 | 0.441 | 1.000 |
| predicted_RBI | 0.218 | 1.000 | 0.000 | Hitting_RBI | 0.225 | 0.000 | 0.775 | 1.000 |
| predicted_SLG | 0.333 | 1.400 | 0.250 | Hitting_SLG | 0.328 | 0.000 | 1.072 | 1.400 |
| predicted_SO | 0.403 | 0.000 | 0.000 | Hitting_SO | 0.449 | 0.000 | -0.449 | 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.9760 -> 4.0000 (boost 3.0240, better) |
| Biggest Deboost | predicted_BB: 0.5480 -> 0.0000 (deboost -0.5480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5890 -> 3.6532 (boost 0.0642, better) | predicted_BB: 0.5480 -> 0.4881 (deboost -0.0599, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.4873 -> 1.0000 (boost 0.5127, better) | predicted_SO: 0.4146 -> 0.0000 (deboost -0.4146, better) | AB rounded to 4 (raw=3.65), rates preserved: AVG=0.272 HR/AB=0.004 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5590 -> 1.0000 (boost 0.4410, 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_OBP: 0.3574 -> 0.3750 (boost 0.0176, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 6 | 5 | 1 | 5 | 1 | predicted_H: 1.0000 -> 4.0000 (boost 3.0000, better) | 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_OBP: 0.3750 -> 0.3574 (deboost -0.0176, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.137,
"predicted_3B": 0.016,
"predicted_AB": 3.589,
"predicted_AVG": 0.272,
"predicted_BB": 0.548,
"predicted_H": 0.976,
"predicted_HR": 0.016,
"predicted_OBP": 0.368,
"predicted_R": 0.532,
"predicted_RBI": 0.218,
"predicted_SLG": 0.333,
"predicted_SO": 0.403
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1483,
"predicted_3B": 0.0134,
"predicted_AB": 3.6532,
"predicted_AVG": 0.2736,
"predicted_BB": 0.4881,
"predicted_H": 0.9999,
"predicted_HBP": 0.016,
"predicted_HR": 0.0164,
"predicted_OBP": 0.3592,
"predicted_R": 0.5646,
"predicted_RBI": 0.2045,
"predicted_SLG": 0.3353,
"predicted_SO": 0.4139
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.1483,
"delta": 0.0113,
"percent_delta": 0.0825,
"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.589,
"after": 3.6532,
"delta": 0.0642,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2736,
"delta": 0.0016,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.4881,
"delta": -0.0599,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.976,
"after": 0.9999,
"delta": 0.0239,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.016,
"after": 0.0164,
"delta": 0.0004,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3592,
"delta": -0.0088,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 0.5646,
"delta": 0.0326,
"percent_delta": 0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.218,
"after": 0.2045,
"delta": -0.0135,
"percent_delta": -0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3353,
"delta": 0.0023,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.4139,
"delta": 0.0109,
"percent_delta": 0.027,
"direction": "no_change",
"projection_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.589,
"after": 3.6532,
"delta": 0.0642,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.548,
"after": 0.4881,
"delta": -0.0599,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1483,
"predicted_3B": 0.0134,
"predicted_AB": 3.6532,
"predicted_AVG": 0.2717,
"predicted_BB": 0.4873,
"predicted_H": 0.9926,
"predicted_HBP": 0.016,
"predicted_HR": 0.0162,
"predicted_OBP": 0.3574,
"predicted_R": 0.559,
"predicted_RBI": 0.2025,
"predicted_SLG": 0.3329,
"predicted_SO": 0.4146
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1483,
"after": 0.1483,
"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.6532,
"after": 3.6532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2736,
"after": 0.2717,
"delta": -0.0019,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4881,
"after": 0.4873,
"delta": -0.0008,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9999,
"after": 0.9926,
"delta": -0.0073,
"percent_delta": -0.0073,
"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.0164,
"after": 0.0162,
"delta": -0.0002,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3592,
"after": 0.3574,
"delta": -0.0018,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5646,
"after": 0.559,
"delta": -0.0056,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2045,
"after": 0.2025,
"delta": -0.002,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3353,
"after": 0.3329,
"delta": -0.0024,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.4139,
"after": 0.4146,
"delta": 0.0007,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.65), rates preserved: AVG=0.272 HR/AB=0.004",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1483,
"after": 0.0,
"delta": -0.1483,
"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.6532,
"after": 4.0,
"delta": 0.3468,
"percent_delta": 0.0949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4873,
"after": 1.0,
"delta": 0.5127,
"percent_delta": 1.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9926,
"after": 1.0,
"delta": 0.0074,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0162,
"after": 0.0,
"delta": -0.0162,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2025,
"after": 0.0,
"delta": -0.2025,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4146,
"after": 0.0,
"delta": -0.4146,
"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.4873,
"after": 1.0,
"delta": 0.5127,
"percent_delta": 1.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4146,
"after": 0.0,
"delta": -0.4146,
"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=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.273,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2717,
"after": 0.273,
"delta": 0.0013,
"percent_delta": 0.0048,
"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.3574,
"after": 0.375,
"delta": 0.0176,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3329,
"after": 0.333,
"delta": 0.0001,
"percent_delta": 0.0003,
"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_OBP",
"before": 0.3574,
"after": 0.375,
"delta": 0.0176,
"percent_delta": 0.0492,
"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": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 4.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 4.0,
"delta": 3.0,
"percent_delta": 3.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.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": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2717,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 4.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3574,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3329,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.273,
"after": 0.2717,
"delta": -0.0013,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3574,
"delta": -0.0176,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3329,
"delta": -0.0001,
"percent_delta": -0.0002,
"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.375,
"after": 0.3574,
"delta": -0.0176,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 1.0,
"delta": 0.863,
"percent_delta": 6.2993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 1.0,
"delta": 0.984,
"percent_delta": 61.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.589,
"after": 5.0,
"delta": 1.411,
"percent_delta": 0.3931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2717,
"delta": -0.0003,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.976,
"after": 4.0,
"delta": 3.024,
"percent_delta": 3.0984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3574,
"delta": -0.0106,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.532,
"after": 1.0,
"delta": 0.468,
"percent_delta": 0.8797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.218,
"after": 1.0,
"delta": 0.782,
"percent_delta": 3.5872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3329,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.976,
"after": 4.0,
"delta": 3.024,
"percent_delta": 3.0984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"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.137 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.589 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 0.976 | - |
| predicted_HR | 0.016 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.532 | - |
| predicted_RBI | 0.218 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.403 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.011 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.653 | 0.064 |
| predicted_AVG | 0.274 | 0.002 |
| predicted_BB | 0.488 | -0.060 |
| predicted_H | 1.000 | 0.024 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.016 | 0.000 |
| predicted_OBP | 0.359 | -0.009 |
| predicted_R | 0.565 | 0.033 |
| predicted_RBI | 0.204 | -0.014 |
| predicted_SLG | 0.335 | 0.002 |
| predicted_SO | 0.414 | 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.148 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.653 | 0.000 |
| predicted_AVG | 0.272 | -0.002 |
| predicted_BB | 0.487 | -0.001 |
| predicted_H | 0.993 | -0.007 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.016 | -0.000 |
| predicted_OBP | 0.357 | -0.002 |
| predicted_R | 0.559 | -0.006 |
| predicted_RBI | 0.203 | -0.002 |
| predicted_SLG | 0.333 | -0.002 |
| predicted_SO | 0.415 | 0.001 |
AB rounded to 4 (raw=3.65), rates preserved: AVG=0.272 HR/AB=0.004
| 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 | 0.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 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 | 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 | 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 | 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 | 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.148 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.347 |
| predicted_AVG | 0.273 | 0.001 |
| predicted_BB | 1.000 | 0.513 |
| predicted_H | 1.000 | 0.007 |
| predicted_HR | 0.000 | -0.016 |
| predicted_OBP | 0.375 | 0.018 |
| predicted_R | 1.000 | 0.441 |
| predicted_RBI | 0.000 | -0.203 |
| predicted_SLG | 0.333 | 0.000 |
| predicted_SO | 0.000 | -0.415 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 1.000 | 1.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 4.000 | 3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 3.000 | 1.000 | 2.000 | 0.2222 | 0.2632 | 0.2778 | 0.2222 | 0.0000 | 0.0000 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 43.000 | 15.000 | 2.000 | 0.000 | 0.000 | 2.000 | 9.000 | 2.000 | 4.000 | 0.3488 | 0.3778 | 0.3953 | 0.3488 | 0.0000 | 0.0465 | 0.0465 | 0.0930 |
| season | 0.60 | 124 | - | 445.000 | 121.000 | 17.000 | 2.000 | 2.000 | 27.000 | 66.000 | 68.000 | 50.000 | 0.2719 | 0.3699 | 0.3326 | 0.2719 | 0.0045 | 0.0607 | 0.1528 | 0.1124 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.7370 |
| predicted_AVG | 0.2757 |
| predicted_BB | 0.4100 |
| predicted_H | 1.0310 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3477 |
| predicted_R | 0.6070 |
| predicted_RBI | 0.1870 |
| predicted_SLG | 0.3382 |
| predicted_SO | 0.4280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.1630 | 0.1483 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 3.5890 | 3.7370 | 3.6532 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2757 | 0.2736 | model_form_blend |
| predicted_BB | 0.5480 | 0.4100 | 0.4881 | model_form_blend |
| predicted_H | 0.9760 | 1.0310 | 0.9999 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0160 | 0.0170 | 0.0164 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3477 | 0.3592 | model_form_blend |
| predicted_R | 0.5320 | 0.6070 | 0.5646 | model_form_blend |
| predicted_RBI | 0.2180 | 0.1870 | 0.2045 | model_form_blend |
| predicted_SLG | 0.3330 | 0.3382 | 0.3353 | model_form_blend |
| predicted_SO | 0.4030 | 0.4280 | 0.4139 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 494 |
| Season rows before report date | 494 |
| 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 | 4 |
| 2B | 1 |
| 3B | 1 |
| 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 | 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 | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 680757 |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 9.9 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.324 |
| sl_xwoba | 0.322 |
| sl_xba | 0.27 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 0.5 |
| sl_hard_hit_percent | 9.6 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 8.3 |
| sl_swing_percent | 36.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.169 | 0.000 | 1.000 | Hitting_2B | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.787 | 4.000 | 4.000 | Hitting_AB | 3.821 | 3.000 | 0.179 | 1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_BB | 0.191 | 1.000 | 0.000 | Hitting_BB | 0.448 | 0.000 | 0.552 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.912 | 0.000 | 1.000 | Hitting_H | 0.866 | 0.000 | -0.866 | 0.000 |
| predicted_HR | 0.147 | 0.000 | 0.000 | Hitting_HR | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_OBP | 0.277 | 0.200 | 0.250 | Hitting_OBP | 0.326 | 0.000 | -0.126 | 0.200 |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.866 | 0.000 | -0.866 | 0.000 |
| predicted_SLG | 0.406 | 0.000 | 0.500 | Hitting_SLG | 0.484 | 0.000 | -0.484 | 0.000 |
| predicted_SO | 0.985 | 1.000 | 1.000 | Hitting_SO | 1.179 | 0.000 | -0.179 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.1910 -> 1.0000 (boost 0.8090, better) |
| Biggest Deboost | predicted_H: 0.9120 -> 0.0000 (deboost -0.9120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 4 | 0 | predicted_OBP: 0.2770 -> 0.2996 (boost 0.0226, better) | predicted_SO: 0.9850 -> 0.9089 (deboost -0.0761, 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.2996 -> 0.2940 (deboost -0.0056, 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.6233 -> 1.0000 (boost 0.3767, better) | predicted_BB: 0.2350 -> 0.0000 (deboost -0.2350, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.250 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4079 -> 0.0000 (deboost -0.4079, 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.2940 -> 0.2990 (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 | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "LF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.007,
"predicted_AB": 3.787,
"predicted_AVG": 0.241,
"predicted_BB": 0.191,
"predicted_H": 0.912,
"predicted_HR": 0.147,
"predicted_OBP": 0.277,
"predicted_R": 0.412,
"predicted_RBI": 0.61,
"predicted_SLG": 0.406,
"predicted_SO": 0.985
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1999,
"predicted_3B": 0.0061,
"predicted_AB": 3.7813,
"predicted_AVG": 0.2521,
"predicted_BB": 0.2354,
"predicted_H": 0.9529,
"predicted_HBP": 0.068,
"predicted_HR": 0.13,
"predicted_OBP": 0.2996,
"predicted_R": 0.412,
"predicted_RBI": 0.6296,
"predicted_SLG": 0.4116,
"predicted_SO": 0.9089
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1999,
"delta": 0.0309,
"percent_delta": 0.1828,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0061,
"delta": -0.0009,
"percent_delta": -0.1286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.787,
"after": 3.7813,
"delta": -0.0057,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2521,
"delta": 0.0111,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.191,
"after": 0.2354,
"delta": 0.0444,
"percent_delta": 0.2325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.912,
"after": 0.9529,
"delta": 0.0409,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.147,
"after": 0.13,
"delta": -0.017,
"percent_delta": -0.1156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2996,
"delta": 0.0226,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6296,
"delta": 0.0196,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4116,
"delta": 0.0056,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 0.9089,
"delta": -0.0761,
"percent_delta": -0.0773,
"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_OBP",
"before": 0.277,
"after": 0.2996,
"delta": 0.0226,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.985,
"after": 0.9089,
"delta": -0.0761,
"percent_delta": -0.0773,
"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": 136
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1999,
"predicted_3B": 0.0061,
"predicted_AB": 3.7813,
"predicted_AVG": 0.2502,
"predicted_BB": 0.235,
"predicted_H": 0.9459,
"predicted_HBP": 0.068,
"predicted_HR": 0.1284,
"predicted_OBP": 0.294,
"predicted_R": 0.4079,
"predicted_RBI": 0.6233,
"predicted_SLG": 0.4081,
"predicted_SO": 0.9104
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1999,
"after": 0.1999,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7813,
"after": 3.7813,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2521,
"after": 0.2502,
"delta": -0.0019,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2354,
"after": 0.235,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9529,
"after": 0.9459,
"delta": -0.007,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1284,
"delta": -0.0016,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2996,
"after": 0.294,
"delta": -0.0056,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4079,
"delta": -0.0041,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6296,
"after": 0.6233,
"delta": -0.0063,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4116,
"after": 0.4081,
"delta": -0.0035,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9089,
"after": 0.9104,
"delta": 0.0015,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2996,
"after": 0.294,
"delta": -0.0056,
"percent_delta": -0.0187,
"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.250 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1999,
"after": 0.0,
"delta": -0.1999,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0061,
"after": 0.0,
"delta": -0.0061,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7813,
"after": 4.0,
"delta": 0.2187,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9459,
"after": 1.0,
"delta": 0.0541,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1284,
"after": 0.0,
"delta": -0.1284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6233,
"after": 1.0,
"delta": 0.3767,
"percent_delta": 0.6044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9104,
"after": 1.0,
"delta": 0.0896,
"percent_delta": 0.0984,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6233,
"after": 1.0,
"delta": 0.3767,
"percent_delta": 0.6044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4079,
"after": 0.0,
"delta": -0.4079,
"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.4079,
"after": 0.0,
"delta": -0.4079,
"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": 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.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.407,
"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.2502,
"after": 0.25,
"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.294,
"after": 0.299,
"delta": 0.005,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4081,
"after": 0.407,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.299,
"delta": 0.005,
"percent_delta": 0.017,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2502,
"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.294,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4081,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2502,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.294,
"delta": -0.005,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4081,
"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": 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.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.787,
"after": 4.0,
"delta": 0.213,
"percent_delta": 0.0562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2502,
"delta": 0.0092,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.191,
"after": 1.0,
"delta": 0.809,
"percent_delta": 4.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.912,
"after": 0.0,
"delta": -0.912,
"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_OBP",
"before": 0.277,
"after": 0.294,
"delta": 0.017,
"percent_delta": 0.0614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4081,
"delta": 0.0021,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.985,
"after": 1.0,
"delta": 0.015,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.191,
"after": 1.0,
"delta": 0.809,
"percent_delta": 4.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.912,
"after": 0.0,
"delta": -0.912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.007 | - |
| predicted_AB | 3.787 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.191 | - |
| predicted_H | 0.912 | - |
| predicted_HR | 0.147 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.985 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | 0.031 |
| predicted_3B | 0.006 | -0.001 |
| predicted_AB | 3.781 | -0.006 |
| predicted_AVG | 0.252 | 0.011 |
| predicted_BB | 0.235 | 0.044 |
| predicted_H | 0.953 | 0.041 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.130 | -0.017 |
| predicted_OBP | 0.300 | 0.023 |
| predicted_R | 0.412 | 0.000 |
| predicted_RBI | 0.630 | 0.020 |
| predicted_SLG | 0.412 | 0.006 |
| predicted_SO | 0.909 | -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.200 | 0.000 |
| predicted_3B | 0.006 | 0.000 |
| predicted_AB | 3.781 | 0.000 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.235 | -0.000 |
| predicted_H | 0.946 | -0.007 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.128 | -0.002 |
| predicted_OBP | 0.294 | -0.006 |
| predicted_R | 0.408 | -0.004 |
| predicted_RBI | 0.623 | -0.006 |
| predicted_SLG | 0.408 | -0.004 |
| predicted_SO | 0.910 | 0.001 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.250 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.200 |
| predicted_3B | 0.000 | -0.006 |
| predicted_AB | 4.000 | 0.219 |
| predicted_AVG | 0.250 | -0.000 |
| predicted_BB | 0.000 | -0.235 |
| predicted_H | 1.000 | 0.054 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 0.000 | -0.408 |
| predicted_RBI | 1.000 | 0.377 |
| predicted_SLG | 0.407 | -0.001 |
| predicted_SO | 1.000 | 0.090 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 2.000 | 0.3333 | 0.4000 | 0.4444 | 0.3333 | 0.0000 | 0.1667 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 3.000 | 0.000 | 1.000 | 9.000 | 4.000 | 5.000 | 7.000 | 0.2821 | 0.3636 | 0.4359 | 0.2821 | 0.0256 | 0.2308 | 0.1282 | 0.1795 |
| season | 0.60 | 136 | - | 515.000 | 124.000 | 23.000 | 1.000 | 20.000 | 83.000 | 56.000 | 26.000 | 134.000 | 0.2408 | 0.2959 | 0.4058 | 0.2408 | 0.0388 | 0.1612 | 0.0505 | 0.2602 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2400 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.7740 |
| predicted_AVG | 0.2666 |
| predicted_BB | 0.2930 |
| predicted_H | 1.0060 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.3290 |
| predicted_R | 0.4120 |
| predicted_RBI | 0.6550 |
| predicted_SLG | 0.4189 |
| predicted_SO | 0.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.2400 | 0.1999 | model_form_blend |
| predicted_3B | 0.0070 | 0.0050 | 0.0061 | model_form_blend |
| predicted_AB | 3.7870 | 3.7740 | 3.7813 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2666 | 0.2521 | model_form_blend |
| predicted_BB | 0.1910 | 0.2930 | 0.2354 | model_form_blend |
| predicted_H | 0.9120 | 1.0060 | 0.9529 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.1470 | 0.1080 | 0.1300 | model_form_blend |
| predicted_OBP | 0.2770 | 0.3290 | 0.2996 | model_form_blend |
| predicted_R | 0.4120 | 0.4120 | 0.4120 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6550 | 0.6296 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4189 | 0.4116 | model_form_blend |
| predicted_SO | 0.9850 | 0.8100 | 0.9089 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 67 |
| Season rows before report date | 67 |
| Report year | 2026 |
| Profile rows used | 136 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.307 |
| sl_xwoba | 0.33 |
| sl_xba | 0.259 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 44.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 54.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 4.000 | Hitting_AB | 3.667 | 3.000 | 0.333 | 1.000 |
| predicted_AVG | 0.181 | 0.000 | 0.250 | Hitting_AVG | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_BB | 0.227 | 1.000 | 0.000 | Hitting_BB | 0.263 | 0.000 | 0.737 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 1.175 | 0.000 | -1.175 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.247 | 0.200 | 0.250 | Hitting_OBP | 0.377 | 0.000 | -0.177 | 0.200 |
| predicted_R | 0.455 | 0.000 | 1.000 | Hitting_R | 0.579 | 0.000 | -0.579 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_SLG | 0.352 | 0.000 | 0.250 | Hitting_SLG | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_SO | 0.500 | 1.000 | 0.000 | Hitting_SO | 0.351 | 2.000 | 0.649 | -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.2270 -> 1.0000 (boost 0.7730, better) |
| Biggest Deboost | predicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 2 | 2 | predicted_SO: 0.5000 -> 0.5523 (boost 0.0523, worse) | predicted_AB: 3.9300 -> 3.7589 (deboost -0.1711, worse) | Final model input calibrated with local 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.2538 -> 0.2357 (deboost -0.0181, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.5532 -> 1.0000 (boost 0.4468, worse) | predicted_RBI: 0.3233 -> 0.0000 (deboost -0.3233, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.181 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4298 -> 0.0000 (deboost -0.4298, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | 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 |
| 7 | embedded_savant_player_context | 4 | 1 | 3 | 0 | 4 | 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 |
| 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 | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1810 -> 0.1894 (boost 0.0084, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694197",
"player_name": "Angel Genao",
"position": "3B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.181,
"predicted_BB": 0.227,
"predicted_H": 0.71,
"predicted_HR": 0.16,
"predicted_OBP": 0.247,
"predicted_R": 0.455,
"predicted_RBI": 0.33,
"predicted_SLG": 0.352,
"predicted_SO": 0.5
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1285,
"predicted_3B": 0.0015,
"predicted_AB": 3.7589,
"predicted_AVG": 0.1919,
"predicted_BB": 0.2281,
"predicted_H": 0.7171,
"predicted_HBP": 0.027,
"predicted_HR": 0.1469,
"predicted_OBP": 0.2538,
"predicted_R": 0.4341,
"predicted_RBI": 0.3266,
"predicted_SLG": 0.3526,
"predicted_SO": 0.5523
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1285,
"delta": -0.0075,
"percent_delta": -0.0551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0015,
"delta": 0.0015,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 3.7589,
"delta": -0.1711,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.1919,
"delta": 0.0109,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.2281,
"delta": 0.0011,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7171,
"delta": 0.0071,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1469,
"delta": -0.0131,
"percent_delta": -0.0819,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2538,
"delta": 0.0068,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4341,
"delta": -0.0209,
"percent_delta": -0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3266,
"delta": -0.0034,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3526,
"delta": 0.0006,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5523,
"delta": 0.0523,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5523,
"delta": 0.0523,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 3.7589,
"delta": -0.1711,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1285,
"predicted_3B": 0.0015,
"predicted_AB": 3.7589,
"predicted_AVG": 0.1894,
"predicted_BB": 0.2277,
"predicted_H": 0.7119,
"predicted_HBP": 0.027,
"predicted_HR": 0.1451,
"predicted_OBP": 0.2357,
"predicted_R": 0.4298,
"predicted_RBI": 0.3233,
"predicted_SLG": 0.3402,
"predicted_SO": 0.5532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1285,
"after": 0.1285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7589,
"after": 3.7589,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1919,
"after": 0.1894,
"delta": -0.0025,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2281,
"after": 0.2277,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7171,
"after": 0.7119,
"delta": -0.0052,
"percent_delta": -0.0073,
"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.1469,
"after": 0.1451,
"delta": -0.0018,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2538,
"after": 0.2357,
"delta": -0.0181,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4341,
"after": 0.4298,
"delta": -0.0043,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3266,
"after": 0.3233,
"delta": -0.0033,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3526,
"after": 0.3402,
"delta": -0.0124,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5523,
"after": 0.5532,
"delta": 0.0009,
"percent_delta": 0.0016,
"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.2538,
"after": 0.2357,
"delta": -0.0181,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.181 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.1285,
"after": 0.0,
"delta": -0.1285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0,
"delta": -0.0015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7589,
"after": 4.0,
"delta": 0.2411,
"percent_delta": 0.0641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2277,
"after": 0.0,
"delta": -0.2277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7119,
"after": 1.0,
"delta": 0.2881,
"percent_delta": 0.4047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1451,
"after": 0.0,
"delta": -0.1451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3233,
"after": 0.0,
"delta": -0.3233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3233,
"after": 0.0,
"delta": -0.3233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4298,
"after": 0.0,
"delta": -0.4298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4298,
"after": 0.0,
"delta": -0.4298,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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.181,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.232,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1894,
"after": 0.181,
"delta": -0.0084,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2357,
"after": 0.232,
"delta": -0.0037,
"percent_delta": -0.0157,
"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.3402,
"after": 0.333,
"delta": -0.0072,
"percent_delta": -0.0212,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 4,
"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": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_AVG": 0.1894,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2357,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3402,
"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.181,
"after": 0.1894,
"delta": 0.0084,
"percent_delta": 0.0463,
"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.232,
"after": 0.2357,
"delta": 0.0037,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3402,
"delta": 0.0072,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.1894,
"delta": 0.0084,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.181,
"after": 0.1894,
"delta": 0.0084,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.247,
"after": 0.2357,
"delta": -0.0113,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3402,
"delta": -0.0118,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.181 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 0.500 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.008 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.759 | -0.171 |
| predicted_AVG | 0.192 | 0.011 |
| predicted_BB | 0.228 | 0.001 |
| predicted_H | 0.717 | 0.007 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.147 | -0.013 |
| predicted_OBP | 0.254 | 0.007 |
| predicted_R | 0.434 | -0.021 |
| predicted_RBI | 0.327 | -0.003 |
| predicted_SLG | 0.353 | 0.001 |
| predicted_SO | 0.552 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.759 | 0.000 |
| predicted_AVG | 0.189 | -0.002 |
| predicted_BB | 0.228 | -0.000 |
| predicted_H | 0.712 | -0.005 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.145 | -0.002 |
| predicted_OBP | 0.236 | -0.018 |
| predicted_R | 0.430 | -0.004 |
| predicted_RBI | 0.323 | -0.003 |
| predicted_SLG | 0.340 | -0.012 |
| predicted_SO | 0.553 | 0.001 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.181 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 | 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 | 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.129 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.241 |
| predicted_AVG | 0.181 | -0.008 |
| predicted_BB | 0.000 | -0.228 |
| predicted_H | 1.000 | 0.288 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.232 | -0.004 |
| predicted_R | 0.000 | -0.430 |
| predicted_RBI | 0.000 | -0.323 |
| predicted_SLG | 0.333 | -0.007 |
| predicted_SO | 1.000 | 0.447 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 3.000 | 0.0769 | 0.1429 | 0.3077 | 0.0769 | 0.0769 | 0.1538 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 7.000 | 0.1471 | 0.1944 | 0.2647 | 0.1471 | 0.0294 | 0.0588 | 0.0588 | 0.2059 |
| season | 0.60 | 22 | - | 79.000 | 20.000 | 3.000 | 0.000 | 2.000 | 5.000 | 10.000 | 5.000 | 11.000 | 0.2532 | 0.3059 | 0.3671 | 0.2532 | 0.0253 | 0.0633 | 0.0633 | 0.1392 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4720 |
| predicted_AVG | 0.2101 |
| predicted_BB | 0.2300 |
| predicted_H | 0.7290 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.2653 |
| predicted_R | 0.3990 |
| predicted_RBI | 0.3210 |
| predicted_SLG | 0.3537 |
| predicted_SO | 0.6400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.1160 | 0.1285 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.9300 | 3.4720 | 3.7589 | model_form_blend |
| predicted_AVG | 0.1810 | 0.2101 | 0.1919 | model_form_blend |
| predicted_BB | 0.2270 | 0.2300 | 0.2281 | model_form_blend |
| predicted_H | 0.7100 | 0.7290 | 0.7171 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.1600 | 0.1250 | 0.1469 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2653 | 0.2538 | model_form_blend |
| predicted_R | 0.4550 | 0.3990 | 0.4341 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3210 | 0.3266 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3537 | 0.3526 | model_form_blend |
| predicted_SO | 0.5000 | 0.6400 | 0.5523 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 694197 |
| playerID | 694197 |
| playerName | Angel Genao |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 12.8 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.304 |
| sl_xwoba | 0.3 |
| sl_xba | 0.248 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 22.1 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 52.9 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | -0.9 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.221 | 0.000 | 1.000 | Hitting_2B | 0.220 | 1.000 | -0.220 | -1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.760 | 4.000 | 5.000 | Hitting_AB | 3.957 | 4.000 | 0.043 | 0.000 |
| predicted_AVG | 0.327 | 0.000 | 0.200 | Hitting_AVG | 0.284 | 0.750 | -0.284 | -0.750 |
| predicted_BB | 0.425 | 1.000 | 0.000 | Hitting_BB | 0.461 | 0.000 | 0.539 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.560 | 0.000 | 1.000 | Hitting_H | 1.122 | 3.000 | -1.122 | -3.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.393 | 0.200 | 0.200 | Hitting_OBP | 0.356 | 0.750 | -0.156 | -0.550 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.507 | 0.000 | -0.507 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_SLG | 0.482 | 0.000 | 0.400 | Hitting_SLG | 0.446 | 1.000 | -0.446 | -1.000 |
| predicted_SO | 0.637 | 0.000 | 1.000 | Hitting_SO | 0.646 | 0.000 | -0.646 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4250 -> 1.0000 (boost 0.5750, better) |
| Biggest Deboost | predicted_H: 1.5600 -> 0.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 | 2 | 2 | 1 | 3 | predicted_SO: 0.6370 -> 0.7110 (boost 0.0740, worse) | predicted_AB: 4.7600 -> 4.3027 (deboost -0.4573, worse) | Final model input calibrated with local 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.4922 -> 0.4745 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.3027 -> 5.0000 (boost 0.6973, better) | predicted_H: 1.4094 -> 1.0000 (deboost -0.4094, worse) | AB rounded to 5 (raw=4.76), rates preserved: AVG=0.296 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4883 -> 0.0000 (deboost -0.4883, 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 | 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 |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | 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.4290 -> 0.4745 (boost 0.0455, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "RF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.027,
"predicted_AB": 4.76,
"predicted_AVG": 0.327,
"predicted_BB": 0.425,
"predicted_H": 1.56,
"predicted_HR": 0.12,
"predicted_OBP": 0.393,
"predicted_R": 0.469,
"predicted_RBI": 0.53,
"predicted_SLG": 0.482,
"predicted_SO": 0.637
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2565,
"predicted_3B": 0.0408,
"predicted_AB": 4.3027,
"predicted_AVG": 0.3299,
"predicted_BB": 0.3783,
"predicted_H": 1.4198,
"predicted_HBP": 0.002,
"predicted_HR": 0.0992,
"predicted_OBP": 0.39,
"predicted_R": 0.4932,
"predicted_RBI": 0.4815,
"predicted_SLG": 0.4922,
"predicted_SO": 0.711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.2565,
"delta": 0.0355,
"percent_delta": 0.1606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0408,
"delta": 0.0138,
"percent_delta": 0.5111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.76,
"after": 4.3027,
"delta": -0.4573,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.3299,
"delta": 0.0029,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.3783,
"delta": -0.0467,
"percent_delta": -0.1099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.56,
"after": 1.4198,
"delta": -0.1402,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0992,
"delta": -0.0208,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.39,
"delta": -0.003,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.4932,
"delta": 0.0242,
"percent_delta": 0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.4815,
"delta": -0.0485,
"percent_delta": -0.0915,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.482,
"after": 0.4922,
"delta": 0.0102,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 0.711,
"delta": 0.074,
"percent_delta": 0.1162,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.637,
"after": 0.711,
"delta": 0.074,
"percent_delta": 0.1162,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.76,
"after": 4.3027,
"delta": -0.4573,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 113
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2565,
"predicted_3B": 0.0408,
"predicted_AB": 4.3027,
"predicted_AVG": 0.3276,
"predicted_BB": 0.3777,
"predicted_H": 1.4094,
"predicted_HBP": 0.002,
"predicted_HR": 0.098,
"predicted_OBP": 0.3818,
"predicted_R": 0.4883,
"predicted_RBI": 0.4767,
"predicted_SLG": 0.4745,
"predicted_SO": 0.7122
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2565,
"after": 0.2565,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0408,
"after": 0.0408,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3027,
"after": 4.3027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3299,
"after": 0.3276,
"delta": -0.0023,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3783,
"after": 0.3777,
"delta": -0.0006,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4198,
"after": 1.4094,
"delta": -0.0104,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0992,
"after": 0.098,
"delta": -0.0012,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.3818,
"delta": -0.0082,
"percent_delta": -0.021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4932,
"after": 0.4883,
"delta": -0.0049,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4815,
"after": 0.4767,
"delta": -0.0048,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4922,
"after": 0.4745,
"delta": -0.0177,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.711,
"after": 0.7122,
"delta": 0.0012,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4922,
"after": 0.4745,
"delta": -0.0177,
"percent_delta": -0.036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.76), rates preserved: AVG=0.296 HR/AB=0.021",
"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.2565,
"after": 0.0,
"delta": -0.2565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0408,
"after": 0.0,
"delta": -0.0408,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3027,
"after": 5.0,
"delta": 0.6973,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3777,
"after": 0.0,
"delta": -0.3777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4094,
"after": 1.0,
"delta": -0.4094,
"percent_delta": -0.2905,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4767,
"after": 1.0,
"delta": 0.5233,
"percent_delta": 1.0978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7122,
"after": 1.0,
"delta": 0.2878,
"percent_delta": 0.4041,
"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.3027,
"after": 5.0,
"delta": 0.6973,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4094,
"after": 1.0,
"delta": -0.4094,
"percent_delta": -0.2905,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 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.4883,
"after": 0.0,
"delta": -0.4883,
"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.4883,
"after": 0.0,
"delta": -0.4883,
"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": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 5.0,
"predicted_AVG": 0.296,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.353,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"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.3276,
"after": 0.296,
"delta": -0.0316,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3818,
"after": 0.353,
"delta": -0.0288,
"percent_delta": -0.0754,
"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.4745,
"after": 0.429,
"delta": -0.0455,
"percent_delta": -0.0959,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.3276,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3818,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4745,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.3276,
"delta": 0.0316,
"percent_delta": 0.1067,
"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.353,
"after": 0.3818,
"delta": 0.0288,
"percent_delta": 0.0817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4745,
"delta": 0.0455,
"percent_delta": 0.106,
"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.429,
"after": 0.4745,
"delta": 0.0455,
"percent_delta": 0.106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.76,
"after": 4.0,
"delta": -0.76,
"percent_delta": -0.1597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.3276,
"delta": 0.0006,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.56,
"after": 0.0,
"delta": -1.56,
"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.393,
"after": 0.3818,
"delta": -0.0112,
"percent_delta": -0.0285,
"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.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.482,
"after": 0.4745,
"delta": -0.0075,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 0.0,
"delta": -0.637,
"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.425,
"after": 1.0,
"delta": 0.575,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.56,
"after": 0.0,
"delta": -1.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.221 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.760 | - |
| predicted_AVG | 0.327 | - |
| predicted_BB | 0.425 | - |
| predicted_H | 1.560 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.393 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.482 | - |
| predicted_SO | 0.637 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.257 | 0.036 |
| predicted_3B | 0.041 | 0.014 |
| predicted_AB | 4.303 | -0.457 |
| predicted_AVG | 0.330 | 0.003 |
| predicted_BB | 0.378 | -0.047 |
| predicted_H | 1.420 | -0.140 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.099 | -0.021 |
| predicted_OBP | 0.390 | -0.003 |
| predicted_R | 0.493 | 0.024 |
| predicted_RBI | 0.481 | -0.049 |
| predicted_SLG | 0.492 | 0.010 |
| predicted_SO | 0.711 | 0.074 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.257 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 4.303 | 0.000 |
| predicted_AVG | 0.328 | -0.002 |
| predicted_BB | 0.378 | -0.001 |
| predicted_H | 1.409 | -0.010 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.098 | -0.001 |
| predicted_OBP | 0.382 | -0.008 |
| predicted_R | 0.488 | -0.005 |
| predicted_RBI | 0.477 | -0.005 |
| predicted_SLG | 0.474 | -0.018 |
| predicted_SO | 0.712 | 0.001 |
AB rounded to 5 (raw=4.76), rates preserved: AVG=0.296 HR/AB=0.021
| 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 | 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 | 1.000 | 1.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 | 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.257 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 5.000 | 0.697 |
| predicted_AVG | 0.296 | -0.032 |
| predicted_BB | 0.000 | -0.378 |
| predicted_H | 1.000 | -0.409 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.353 | -0.029 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.523 |
| predicted_SLG | 0.429 | -0.045 |
| predicted_SO | 1.000 | 0.288 |
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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 8.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 6.000 | 0.4000 | 0.4000 | 0.5500 | 0.4000 | 0.0000 | 0.0500 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 32.000 | 13.000 | 3.000 | 2.000 | 0.000 | 3.000 | 6.000 | 3.000 | 9.000 | 0.4062 | 0.4571 | 0.6250 | 0.4062 | 0.0000 | 0.0938 | 0.0938 | 0.2812 |
| season | 0.60 | 113 | - | 425.000 | 126.000 | 25.000 | 3.000 | 13.000 | 59.000 | 53.000 | 48.000 | 72.000 | 0.2965 | 0.3663 | 0.4612 | 0.2965 | 0.0306 | 0.1388 | 0.1129 | 0.1694 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3030 |
| predicted_3B | 0.0590 |
| predicted_AB | 3.7030 |
| predicted_AVG | 0.3337 |
| predicted_BB | 0.3170 |
| predicted_H | 1.2360 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0720 |
| predicted_OBP | 0.3861 |
| predicted_R | 0.5250 |
| predicted_RBI | 0.4180 |
| predicted_SLG | 0.5055 |
| predicted_SO | 0.8080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.3030 | 0.2565 | model_form_blend |
| predicted_3B | 0.0270 | 0.0590 | 0.0408 | model_form_blend |
| predicted_AB | 4.7600 | 3.7030 | 4.3027 | model_form_blend |
| predicted_AVG | 0.3270 | 0.3337 | 0.3299 | model_form_blend |
| predicted_BB | 0.4250 | 0.3170 | 0.3783 | model_form_blend |
| predicted_H | 1.5600 | 1.2360 | 1.4198 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1200 | 0.0720 | 0.0992 | model_form_blend |
| predicted_OBP | 0.3930 | 0.3861 | 0.3900 | model_form_blend |
| predicted_R | 0.4690 | 0.5250 | 0.4932 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4180 | 0.4815 | model_form_blend |
| predicted_SLG | 0.4820 | 0.5055 | 0.4922 | model_form_blend |
| predicted_SO | 0.6370 | 0.8080 | 0.7110 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 460 |
| Season rows before report date | 460 |
| Report year | 2026 |
| Profile rows used | 113 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 15.0 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.359 |
| sl_xwoba | 0.344 |
| sl_xba | 0.277 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 15.5 |
| 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.200 | 0.000 | 0.000 | Hitting_2B | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.270 | 4.000 | 3.000 | Hitting_AB | 3.774 | 4.000 | 0.226 | 0.000 |
| predicted_AVG | 0.211 | 0.000 | 0.333 | Hitting_AVG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_BB | 0.310 | 1.000 | 0.000 | Hitting_BB | 0.226 | 0.000 | 0.774 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_OBP | 0.250 | 0.200 | 0.333 | Hitting_OBP | 0.298 | 0.000 | -0.098 | 0.200 |
| predicted_R | 0.320 | 0.000 | 0.000 | Hitting_R | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 0.000 | Hitting_RBI | 0.849 | 0.000 | -0.849 | 0.000 |
| predicted_SLG | 0.371 | 0.000 | 0.333 | Hitting_SLG | 0.490 | 0.000 | -0.490 | 0.000 |
| predicted_SO | 0.870 | 0.000 | 1.000 | Hitting_SO | 0.830 | 2.000 | -0.830 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.2700 -> 4.0000 (boost 0.7300, better) |
| Biggest Deboost | predicted_SO: 0.8700 -> 0.0000 (deboost -0.8700, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.2700 -> 3.3303 (boost 0.0603, better) | predicted_AVG: 0.2110 -> 0.2054 (deboost -0.0056, worse) | Final model input calibrated with local 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.3679 -> 0.3967 (boost 0.0288, 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.6786 -> 1.0000 (boost 0.3214, better) | predicted_RBI: 0.5411 -> 0.0000 (deboost -0.5411, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.204 HR/AB=0.047 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3049 -> 0.0000 (deboost -0.3049, 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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2680 -> 0.2930 (boost 0.0250, better) | - | 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: 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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2930 -> 0.2680 (deboost -0.0250, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.0,
"predicted_AB": 3.27,
"predicted_AVG": 0.211,
"predicted_BB": 0.31,
"predicted_H": 0.69,
"predicted_HR": 0.17,
"predicted_OBP": 0.25,
"predicted_R": 0.32,
"predicted_RBI": 0.55,
"predicted_SLG": 0.371,
"predicted_SO": 0.87
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1697,
"predicted_3B": 0.0004,
"predicted_AB": 3.3303,
"predicted_AVG": 0.2054,
"predicted_BB": 0.2929,
"predicted_H": 0.6836,
"predicted_HBP": 0.002,
"predicted_HR": 0.1593,
"predicted_OBP": 0.2506,
"predicted_R": 0.308,
"predicted_RBI": 0.5466,
"predicted_SLG": 0.3679,
"predicted_SO": 0.9221
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1697,
"delta": -0.0303,
"percent_delta": -0.1515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 3.3303,
"delta": 0.0603,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2054,
"delta": -0.0056,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.2929,
"delta": -0.0171,
"percent_delta": -0.0552,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6836,
"delta": -0.0064,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1593,
"delta": -0.0107,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2506,
"delta": 0.0006,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.308,
"delta": -0.012,
"percent_delta": -0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5466,
"delta": -0.0034,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3679,
"delta": -0.0031,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 0.9221,
"delta": 0.0521,
"percent_delta": 0.0599,
"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.27,
"after": 3.3303,
"delta": 0.0603,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2054,
"delta": -0.0056,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1697,
"predicted_3B": 0.0004,
"predicted_AB": 3.3303,
"predicted_AVG": 0.2038,
"predicted_BB": 0.2924,
"predicted_H": 0.6786,
"predicted_HBP": 0.002,
"predicted_HR": 0.1573,
"predicted_OBP": 0.268,
"predicted_R": 0.3049,
"predicted_RBI": 0.5411,
"predicted_SLG": 0.3967,
"predicted_SO": 0.9237
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.1697,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3303,
"after": 3.3303,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2054,
"after": 0.2038,
"delta": -0.0016,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2929,
"after": 0.2924,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6836,
"after": 0.6786,
"delta": -0.005,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1593,
"after": 0.1573,
"delta": -0.002,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2506,
"after": 0.268,
"delta": 0.0174,
"percent_delta": 0.0694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3049,
"delta": -0.0031,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5466,
"after": 0.5411,
"delta": -0.0055,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3679,
"after": 0.3967,
"delta": 0.0288,
"percent_delta": 0.0783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9221,
"after": 0.9237,
"delta": 0.0016,
"percent_delta": 0.0017,
"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.3679,
"after": 0.3967,
"delta": 0.0288,
"percent_delta": 0.0783,
"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.33), rates preserved: AVG=0.204 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1697,
"after": 0.0,
"delta": -0.1697,
"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.3303,
"after": 3.0,
"delta": -0.3303,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2924,
"after": 0.0,
"delta": -0.2924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1573,
"after": 0.0,
"delta": -0.1573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5411,
"after": 0.0,
"delta": -0.5411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9237,
"after": 1.0,
"delta": 0.0763,
"percent_delta": 0.0826,
"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.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5411,
"after": 0.0,
"delta": -0.5411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"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.216,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2038,
"after": 0.216,
"delta": 0.0122,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.293,
"delta": 0.025,
"percent_delta": 0.0933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3967,
"after": 0.403,
"delta": 0.0063,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.293,
"delta": 0.025,
"percent_delta": 0.0933,
"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": 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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2038,
"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.268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3967,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2038,
"delta": -0.0122,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.268,
"delta": -0.025,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3967,
"delta": -0.0063,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.268,
"delta": -0.025,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2038,
"delta": -0.0072,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.268,
"delta": 0.018,
"percent_delta": 0.072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3967,
"delta": 0.0257,
"percent_delta": 0.0693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.270 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.250 | - |
| predicted_R | 0.320 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.870 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | -0.030 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.330 | 0.060 |
| predicted_AVG | 0.205 | -0.006 |
| predicted_BB | 0.293 | -0.017 |
| predicted_H | 0.684 | -0.006 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.159 | -0.011 |
| predicted_OBP | 0.251 | 0.001 |
| predicted_R | 0.308 | -0.012 |
| predicted_RBI | 0.547 | -0.003 |
| predicted_SLG | 0.368 | -0.003 |
| predicted_SO | 0.922 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.330 | 0.000 |
| predicted_AVG | 0.204 | -0.002 |
| predicted_BB | 0.292 | -0.001 |
| predicted_H | 0.679 | -0.005 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.157 | -0.002 |
| predicted_OBP | 0.268 | 0.017 |
| predicted_R | 0.305 | -0.003 |
| predicted_RBI | 0.541 | -0.005 |
| predicted_SLG | 0.397 | 0.029 |
| predicted_SO | 0.924 | 0.002 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.204 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.170 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.330 |
| predicted_AVG | 0.216 | 0.012 |
| predicted_BB | 0.000 | -0.292 |
| predicted_H | 1.000 | 0.321 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.293 | 0.025 |
| predicted_R | 0.000 | -0.305 |
| predicted_RBI | 0.000 | -0.541 |
| predicted_SLG | 0.403 | 0.006 |
| predicted_SO | 1.000 | 0.076 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 7.000 | 0.0588 | 0.1053 | 0.2353 | 0.0588 | 0.0588 | 0.1765 | 0.0588 | 0.4118 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 0.000 | 0.000 | 1.000 | 6.000 | 2.000 | 2.000 | 10.000 | 0.1579 | 0.1905 | 0.2368 | 0.1579 | 0.0263 | 0.1579 | 0.0526 | 0.2632 |
| season | 0.60 | 100 | - | 323.000 | 81.000 | 20.000 | 0.000 | 14.000 | 51.000 | 32.000 | 31.000 | 87.000 | 0.2508 | 0.3128 | 0.4427 | 0.2508 | 0.0433 | 0.1579 | 0.0960 | 0.2693 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4110 |
| predicted_AVG | 0.1980 |
| predicted_BB | 0.2700 |
| predicted_H | 0.6750 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.2514 |
| predicted_R | 0.2920 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3637 |
| predicted_SO | 0.9920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1290 | 0.1697 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2700 | 3.4110 | 3.3303 | model_form_blend |
| predicted_AVG | 0.2110 | 0.1980 | 0.2054 | model_form_blend |
| predicted_BB | 0.3100 | 0.2700 | 0.2929 | model_form_blend |
| predicted_H | 0.6900 | 0.6750 | 0.6836 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.1700 | 0.1450 | 0.1593 | model_form_blend |
| predicted_OBP | 0.2500 | 0.2514 | 0.2506 | model_form_blend |
| predicted_R | 0.3200 | 0.2920 | 0.3080 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5420 | 0.5466 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3637 | 0.3679 | model_form_blend |
| predicted_SO | 0.8700 | 0.9920 | 0.9221 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1B |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.333 |
| sl_xwoba | 0.332 |
| sl_xba | 0.266 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.683 | 5.000 | 4.000 | Hitting_AB | 3.749 | 3.000 | 1.251 | 2.000 |
| predicted_AVG | 0.222 | 0.000 | 0.250 | Hitting_AVG | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_BB | 0.465 | 0.000 | 1.000 | Hitting_BB | 0.523 | 0.000 | -0.523 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.885 | 0.000 | -0.885 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | -0.106 | 0.000 |
| predicted_OBP | 0.295 | 0.000 | 0.400 | Hitting_OBP | 0.334 | 0.000 | -0.334 | 0.000 |
| predicted_R | 0.406 | 0.000 | 0.000 | Hitting_R | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_SLG | 0.313 | 0.000 | 0.250 | Hitting_SLG | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_SO | 0.911 | 4.000 | 1.000 | Hitting_SO | 0.975 | 1.000 | 3.025 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9110 -> 4.0000 (boost 3.0890, worse) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 3.6830 -> 3.5925 (deboost -0.0905, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2227 -> 0.2135 (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 | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.5925 -> 4.0000 (boost 0.4075, better) | predicted_RBI: 0.4515 -> 0.0000 (deboost -0.4515, worse) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.208 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3934 -> 0.0000 (deboost -0.3934, worse) | 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 | 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_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2990 -> 0.3067 (boost 0.0077, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.01,
"predicted_AB": 3.683,
"predicted_AVG": 0.222,
"predicted_BB": 0.465,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.295,
"predicted_R": 0.406,
"predicted_RBI": 0.46,
"predicted_SLG": 0.313,
"predicted_SO": 0.911
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1469,
"predicted_3B": 0.0083,
"predicted_AB": 3.5925,
"predicted_AVG": 0.2227,
"predicted_BB": 0.4223,
"predicted_H": 0.7726,
"predicted_HBP": 0.094,
"predicted_HR": 0.0578,
"predicted_OBP": 0.2989,
"predicted_R": 0.3974,
"predicted_RBI": 0.4561,
"predicted_SLG": 0.3112,
"predicted_SO": 0.8972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1469,
"delta": -0.0211,
"percent_delta": -0.1256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0083,
"delta": -0.0017,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.683,
"after": 3.5925,
"delta": -0.0905,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2227,
"delta": 0.0007,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.4223,
"delta": -0.0427,
"percent_delta": -0.0918,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7726,
"delta": 0.0026,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0578,
"delta": -0.0022,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2989,
"delta": 0.0039,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.3974,
"delta": -0.0086,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4561,
"delta": -0.0039,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3112,
"delta": -0.0018,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 0.8972,
"delta": -0.0138,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.683,
"after": 3.5925,
"delta": -0.0905,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1469,
"predicted_3B": 0.0083,
"predicted_AB": 3.5925,
"predicted_AVG": 0.2135,
"predicted_BB": 0.4216,
"predicted_H": 0.767,
"predicted_HBP": 0.094,
"predicted_HR": 0.0571,
"predicted_OBP": 0.2961,
"predicted_R": 0.3934,
"predicted_RBI": 0.4515,
"predicted_SLG": 0.3067,
"predicted_SO": 0.8987
},
"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.0083,
"after": 0.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5925,
"after": 3.5925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2227,
"after": 0.2135,
"delta": -0.0092,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4223,
"after": 0.4216,
"delta": -0.0007,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7726,
"after": 0.767,
"delta": -0.0056,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0578,
"after": 0.0571,
"delta": -0.0007,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2989,
"after": 0.2961,
"delta": -0.0028,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3974,
"after": 0.3934,
"delta": -0.004,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4561,
"after": 0.4515,
"delta": -0.0046,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3112,
"after": 0.3067,
"delta": -0.0045,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8972,
"after": 0.8987,
"delta": 0.0015,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2227,
"after": 0.2135,
"delta": -0.0092,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.208 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1469,
"after": 0.0,
"delta": -0.1469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0083,
"after": 0.0,
"delta": -0.0083,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5925,
"after": 4.0,
"delta": 0.4075,
"percent_delta": 0.1134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4216,
"after": 0.0,
"delta": -0.4216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.767,
"after": 1.0,
"delta": 0.233,
"percent_delta": 0.3038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0571,
"after": 0.0,
"delta": -0.0571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4515,
"after": 0.0,
"delta": -0.4515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8987,
"after": 1.0,
"delta": 0.1013,
"percent_delta": 0.1127,
"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.5925,
"after": 4.0,
"delta": 0.4075,
"percent_delta": 0.1134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4515,
"after": 0.0,
"delta": -0.4515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3934,
"after": 0.0,
"delta": -0.3934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3934,
"after": 0.0,
"delta": -0.3934,
"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": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"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_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.208,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.299,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2135,
"after": 0.208,
"delta": -0.0055,
"percent_delta": -0.0258,
"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.2961,
"after": 0.295,
"delta": -0.0011,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.3067,
"after": 0.299,
"delta": -0.0077,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 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": 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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2135,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2961,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3067,
"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": 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.208,
"after": 0.2135,
"delta": 0.0055,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2961,
"delta": 0.0011,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.3067,
"delta": 0.0077,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.3067,
"delta": 0.0077,
"percent_delta": 0.0257,
"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.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.683,
"after": 5.0,
"delta": 1.317,
"percent_delta": 0.3576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2135,
"delta": -0.0085,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2961,
"delta": 0.0011,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.313,
"after": 0.3067,
"delta": -0.0063,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 4.0,
"delta": 3.089,
"percent_delta": 3.3908,
"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.911,
"after": 4.0,
"delta": 3.089,
"percent_delta": 3.3908,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.683 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.465 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.406 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.313 | - |
| predicted_SO | 0.911 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | -0.021 |
| predicted_3B | 0.008 | -0.002 |
| predicted_AB | 3.592 | -0.091 |
| predicted_AVG | 0.223 | 0.001 |
| predicted_BB | 0.422 | -0.043 |
| predicted_H | 0.773 | 0.003 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.058 | -0.002 |
| predicted_OBP | 0.299 | 0.004 |
| predicted_R | 0.397 | -0.009 |
| predicted_RBI | 0.456 | -0.004 |
| predicted_SLG | 0.311 | -0.002 |
| predicted_SO | 0.897 | -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.147 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.592 | 0.000 |
| predicted_AVG | 0.213 | -0.009 |
| predicted_BB | 0.422 | -0.001 |
| predicted_H | 0.767 | -0.006 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.057 | -0.001 |
| predicted_OBP | 0.296 | -0.003 |
| predicted_R | 0.393 | -0.004 |
| predicted_RBI | 0.452 | -0.005 |
| predicted_SLG | 0.307 | -0.005 |
| predicted_SO | 0.899 | 0.002 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.208 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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 | 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.147 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.408 |
| predicted_AVG | 0.208 | -0.006 |
| predicted_BB | 0.000 | -0.422 |
| predicted_H | 1.000 | 0.233 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.295 | -0.001 |
| predicted_R | 0.000 | -0.393 |
| predicted_RBI | 0.000 | -0.452 |
| predicted_SLG | 0.299 | -0.008 |
| predicted_SO | 1.000 | 0.101 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 5.000 | 0.1429 | 0.2222 | 0.1429 | 0.1429 | 0.0000 | 0.1429 | 0.0714 | 0.3571 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 1.000 | 0.000 | 0.000 | 6.000 | 5.000 | 3.000 | 6.000 | 0.2647 | 0.3250 | 0.2941 | 0.2647 | 0.0000 | 0.1765 | 0.0882 | 0.1765 |
| season | 0.60 | 101 | - | 372.000 | 87.000 | 17.000 | 1.000 | 9.000 | 41.000 | 41.000 | 47.000 | 92.000 | 0.2339 | 0.3240 | 0.3575 | 0.2339 | 0.0242 | 0.1102 | 0.1263 | 0.2473 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.4730 |
| predicted_AVG | 0.2236 |
| predicted_BB | 0.3660 |
| predicted_H | 0.7760 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3040 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.4510 |
| predicted_SLG | 0.3088 |
| predicted_SO | 0.8790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.1190 | 0.1469 | model_form_blend |
| predicted_3B | 0.0100 | 0.0060 | 0.0083 | model_form_blend |
| predicted_AB | 3.6830 | 3.4730 | 3.5925 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2236 | 0.2227 | model_form_blend |
| predicted_BB | 0.4650 | 0.3660 | 0.4223 | model_form_blend |
| predicted_H | 0.7700 | 0.7760 | 0.7726 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.0600 | 0.0550 | 0.0578 | model_form_blend |
| predicted_OBP | 0.2950 | 0.3040 | 0.2989 | model_form_blend |
| predicted_R | 0.4060 | 0.3860 | 0.3974 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4510 | 0.4561 | model_form_blend |
| predicted_SLG | 0.3130 | 0.3088 | 0.3112 | model_form_blend |
| predicted_SO | 0.9110 | 0.8790 | 0.8972 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 407 |
| Season rows before report date | 407 |
| 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 | 5 |
| AB | 5 |
| 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 | 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 | 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 | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.309 |
| sl_xwoba | 0.295 |
| sl_xba | 0.223 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 44.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 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 | 2.921 | 5.000 | 3.000 | Hitting_AB | 2.932 | 0.000 | 2.068 | 5.000 |
| predicted_AVG | 0.231 | 0.200 | 0.000 | Hitting_AVG | 0.280 | - | -0.080 | - |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.300 | 1.000 | 0.000 | Hitting_H | 0.820 | 0.000 | 0.180 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.277 | 0.200 | 0.000 | Hitting_OBP | 0.355 | - | -0.155 | - |
| predicted_R | 0.317 | 0.000 | 0.000 | Hitting_R | 0.376 | 0.000 | -0.376 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_SLG | 0.328 | 0.200 | 0.000 | Hitting_SLG | 0.419 | - | -0.219 | - |
| predicted_SO | 0.587 | 2.000 | 1.000 | Hitting_SO | 0.561 | 0.000 | 1.439 | 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_AB: 2.9210 -> 5.0000 (boost 2.0790, better) |
| Biggest Deboost | predicted_R: 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 | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.3000 -> 0.4684 (boost 0.1684, 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.3383 -> 0.2596 (deboost -0.0787, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.6372 -> 1.0000 (boost 0.3628, worse) | predicted_H: 0.4650 -> 0.0000 (deboost -0.4650, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.154 HR/AB=0.024 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2996 -> 0.0000 (deboost -0.2996, 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 | 2 | 2 | 0 | 1 | 1 | 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.2670 -> 0.2596 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "595978",
"player_name": "Austin Hedges",
"position": "C",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.0,
"predicted_AB": 2.921,
"predicted_AVG": 0.231,
"predicted_BB": 0.286,
"predicted_H": 0.3,
"predicted_HR": 0.05,
"predicted_OBP": 0.277,
"predicted_R": 0.317,
"predicted_RBI": 0.22,
"predicted_SLG": 0.328,
"predicted_SO": 0.587
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.0008,
"predicted_AB": 3.0221,
"predicted_AVG": 0.2279,
"predicted_BB": 0.2695,
"predicted_H": 0.4684,
"predicted_HBP": 0.012,
"predicted_HR": 0.0739,
"predicted_OBP": 0.2778,
"predicted_R": 0.3026,
"predicted_RBI": 0.2765,
"predicted_SLG": 0.3383,
"predicted_SO": 0.6361
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.099,
"delta": -0.012,
"percent_delta": -0.1081,
"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.921,
"after": 3.0221,
"delta": 0.1011,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2279,
"delta": -0.0031,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2695,
"delta": -0.0165,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.4684,
"delta": 0.1684,
"percent_delta": 0.5613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0739,
"delta": 0.0239,
"percent_delta": 0.478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2778,
"delta": 0.0008,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.317,
"after": 0.3026,
"delta": -0.0144,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.2765,
"delta": 0.0565,
"percent_delta": 0.2568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3383,
"delta": 0.0103,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.587,
"after": 0.6361,
"delta": 0.0491,
"percent_delta": 0.0836,
"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.3,
"after": 0.4684,
"delta": 0.1684,
"percent_delta": 0.5613,
"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.099,
"predicted_3B": 0.0008,
"predicted_AB": 3.0221,
"predicted_AVG": 0.1539,
"predicted_BB": 0.269,
"predicted_H": 0.465,
"predicted_HBP": 0.012,
"predicted_HR": 0.073,
"predicted_OBP": 0.223,
"predicted_R": 0.2996,
"predicted_RBI": 0.2737,
"predicted_SLG": 0.2596,
"predicted_SO": 0.6372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.099,
"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.0221,
"after": 3.0221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.1539,
"delta": -0.074,
"percent_delta": -0.3247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2695,
"after": 0.269,
"delta": -0.0005,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4684,
"after": 0.465,
"delta": -0.0034,
"percent_delta": -0.0073,
"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.0739,
"after": 0.073,
"delta": -0.0009,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2778,
"after": 0.223,
"delta": -0.0548,
"percent_delta": -0.1973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3026,
"after": 0.2996,
"delta": -0.003,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2765,
"after": 0.2737,
"delta": -0.0028,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3383,
"after": 0.2596,
"delta": -0.0787,
"percent_delta": -0.2326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6361,
"after": 0.6372,
"delta": 0.0011,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3383,
"after": 0.2596,
"delta": -0.0787,
"percent_delta": -0.2326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.154 HR/AB=0.024",
"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.099,
"after": 0.0,
"delta": -0.099,
"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.0221,
"after": 3.0,
"delta": -0.0221,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"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.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.2996,
"after": 0.0,
"delta": -0.2996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2996,
"after": 0.0,
"delta": -0.2996,
"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.154,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.229,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.267,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1539,
"after": 0.154,
"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_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.223,
"after": 0.229,
"delta": 0.006,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2596,
"after": 0.267,
"delta": 0.0074,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 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.1539,
"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.223,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2596,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.154,
"after": 0.1539,
"delta": -0.0001,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.223,
"delta": -0.006,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.267,
"after": 0.2596,
"delta": -0.0074,
"percent_delta": -0.0277,
"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.267,
"after": 0.2596,
"delta": -0.0074,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.921,
"after": 5.0,
"delta": 2.079,
"percent_delta": 0.7117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1539,
"delta": -0.0771,
"percent_delta": -0.3338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.223,
"delta": -0.054,
"percent_delta": -0.1949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.2596,
"delta": -0.0684,
"percent_delta": -0.2085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.587,
"after": 2.0,
"delta": 1.413,
"percent_delta": 2.4072,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.921,
"after": 5.0,
"delta": 2.079,
"percent_delta": 0.7117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.921 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.317 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.328 | - |
| predicted_SO | 0.587 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | -0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.022 | 0.101 |
| predicted_AVG | 0.228 | -0.003 |
| predicted_BB | 0.270 | -0.016 |
| predicted_H | 0.468 | 0.168 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.074 | 0.024 |
| predicted_OBP | 0.278 | 0.001 |
| predicted_R | 0.303 | -0.014 |
| predicted_RBI | 0.277 | 0.057 |
| predicted_SLG | 0.338 | 0.010 |
| predicted_SO | 0.636 | 0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.022 | 0.000 |
| predicted_AVG | 0.154 | -0.074 |
| predicted_BB | 0.269 | -0.001 |
| predicted_H | 0.465 | -0.003 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.073 | -0.001 |
| predicted_OBP | 0.223 | -0.055 |
| predicted_R | 0.300 | -0.003 |
| predicted_RBI | 0.274 | -0.003 |
| predicted_SLG | 0.260 | -0.079 |
| predicted_SO | 0.637 | 0.001 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.154 HR/AB=0.024
| 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.099 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.022 |
| predicted_AVG | 0.154 | 0.000 |
| predicted_BB | 0.000 | -0.269 |
| predicted_H | 1.000 | 0.535 |
| predicted_HR | 0.000 | -0.073 |
| predicted_OBP | 0.229 | 0.006 |
| predicted_R | 0.000 | -0.300 |
| predicted_RBI | 0.000 | -0.274 |
| predicted_SLG | 0.267 | 0.007 |
| predicted_SO | 1.000 | 0.363 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 5.000 | 0.1667 | 0.1667 | 0.3333 | 0.1667 | 0.0556 | 0.1111 | 0.0000 | 0.2778 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 3.000 | 7.000 | 0.1667 | 0.2424 | 0.2667 | 0.1667 | 0.0333 | 0.1000 | 0.1000 | 0.2333 |
| season | 0.60 | 63 | - | 184.000 | 47.000 | 7.000 | 0.000 | 5.000 | 21.000 | 20.000 | 18.000 | 37.000 | 0.2554 | 0.3220 | 0.3750 | 0.2554 | 0.0272 | 0.1141 | 0.0978 | 0.2011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1660 |
| predicted_AVG | 0.2235 |
| predicted_BB | 0.2460 |
| predicted_H | 0.7080 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.2789 |
| predicted_R | 0.2820 |
| predicted_RBI | 0.3570 |
| predicted_SLG | 0.3530 |
| predicted_SO | 0.7060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0820 | 0.0990 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9210 | 3.1660 | 3.0221 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2235 | 0.2279 | model_form_blend |
| predicted_BB | 0.2860 | 0.2460 | 0.2695 | model_form_blend |
| predicted_H | 0.3000 | 0.7080 | 0.4684 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0500 | 0.1080 | 0.0739 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2789 | 0.2778 | model_form_blend |
| predicted_R | 0.3170 | 0.2820 | 0.3026 | model_form_blend |
| predicted_RBI | 0.2200 | 0.3570 | 0.2765 | model_form_blend |
| predicted_SLG | 0.3280 | 0.3530 | 0.3383 | model_form_blend |
| predicted_SO | 0.5870 | 0.7060 | 0.6361 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 205 |
| Season rows before report date | 205 |
| Report year | 2026 |
| Profile rows used | 63 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.23 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260902_TOR@CLE |
| game_type | full |
| mlbID | 595978 |
| playerID | 595978 |
| playerName | Austin Hedges |
| pos | C |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-02 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.31 |
| sl_xwoba | 0.275 |
| sl_xba | 0.226 |
| sl_xslg | 0.316 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.600 | 4.000 | 4.000 | Hitting_AB | 3.630 | 3.000 | 0.370 | 1.000 |
| predicted_AVG | 0.242 | 0.250 | 0.250 | Hitting_AVG | 0.254 | 0.000 | -0.004 | 0.250 |
| predicted_BB | 0.233 | 1.000 | 0.000 | Hitting_BB | 0.259 | 0.000 | 0.741 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.922 | 0.000 | 0.078 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.278 | 0.400 | 0.250 | Hitting_OBP | 0.315 | 0.000 | 0.085 | 0.400 |
| predicted_R | 0.395 | 1.000 | 0.000 | Hitting_R | 0.407 | 0.000 | 0.593 | 1.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_SLG | 0.334 | 0.250 | 0.250 | Hitting_SLG | 0.376 | 0.000 | -0.126 | 0.250 |
| predicted_SO | 0.566 | 1.000 | 1.000 | Hitting_SO | 0.574 | 0.000 | 0.426 | 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.2330 -> 1.0000 (boost 0.7670, better) |
| Biggest Deboost | predicted_RBI: 0.2900 -> 0.0000 (deboost -0.2900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3340 -> 0.3287 (deboost -0.0053, worse) | Final model input calibrated with local 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 | 2 | 4 | predicted_SO: 0.5461 -> 1.0000 (boost 0.4539, worse) | predicted_RBI: 0.2974 -> 0.0000 (deboost -0.2974, worse) | AB rounded to 4 (raw=3.60), rates preserved: AVG=0.233 HR/AB=0.014 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4022 -> 0.0000 (deboost -0.4022, 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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2747 -> 0.2930 (boost 0.0183, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2930 -> 0.2747 (deboost -0.0183, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.016,
"predicted_AB": 3.6,
"predicted_AVG": 0.242,
"predicted_BB": 0.233,
"predicted_H": 0.87,
"predicted_HR": 0.05,
"predicted_OBP": 0.278,
"predicted_R": 0.395,
"predicted_RBI": 0.29,
"predicted_SLG": 0.334,
"predicted_SO": 0.566
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1487,
"predicted_3B": 0.0134,
"predicted_AB": 3.571,
"predicted_AVG": 0.237,
"predicted_BB": 0.1953,
"predicted_H": 0.8457,
"predicted_HBP": 0.041,
"predicted_HR": 0.0504,
"predicted_OBP": 0.2728,
"predicted_R": 0.4063,
"predicted_RBI": 0.3004,
"predicted_SLG": 0.3287,
"predicted_SO": 0.5452
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1487,
"delta": 0.0017,
"percent_delta": 0.0116,
"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.6,
"after": 3.571,
"delta": -0.029,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.237,
"delta": -0.005,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.1953,
"delta": -0.0377,
"percent_delta": -0.1618,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8457,
"delta": -0.0243,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0504,
"delta": 0.0004,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2728,
"delta": -0.0052,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.4063,
"delta": 0.0113,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.3004,
"delta": 0.0104,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3287,
"delta": -0.0053,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.566,
"after": 0.5452,
"delta": -0.0208,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.334,
"after": 0.3287,
"delta": -0.0053,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 129
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1487,
"predicted_3B": 0.0134,
"predicted_AB": 3.571,
"predicted_AVG": 0.2351,
"predicted_BB": 0.195,
"predicted_H": 0.8395,
"predicted_HBP": 0.041,
"predicted_HR": 0.0498,
"predicted_OBP": 0.2747,
"predicted_R": 0.4022,
"predicted_RBI": 0.2974,
"predicted_SLG": 0.3261,
"predicted_SO": 0.5461
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1487,
"after": 0.1487,
"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.571,
"after": 3.571,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2351,
"delta": -0.0019,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1953,
"after": 0.195,
"delta": -0.0003,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8457,
"after": 0.8395,
"delta": -0.0062,
"percent_delta": -0.0073,
"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.0504,
"after": 0.0498,
"delta": -0.0006,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2728,
"after": 0.2747,
"delta": 0.0019,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4063,
"after": 0.4022,
"delta": -0.0041,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3004,
"after": 0.2974,
"delta": -0.003,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3287,
"after": 0.3261,
"delta": -0.0026,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5452,
"after": 0.5461,
"delta": 0.0009,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.60), rates preserved: AVG=0.233 HR/AB=0.014",
"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.1487,
"after": 0.0,
"delta": -0.1487,
"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.571,
"after": 4.0,
"delta": 0.429,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8395,
"after": 1.0,
"delta": 0.1605,
"percent_delta": 0.1912,
"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.0498,
"after": 0.0,
"delta": -0.0498,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2974,
"after": 0.0,
"delta": -0.2974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5461,
"after": 1.0,
"delta": 0.4539,
"percent_delta": 0.8312,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5461,
"after": 1.0,
"delta": 0.4539,
"percent_delta": 0.8312,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2974,
"after": 0.0,
"delta": -0.2974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4022,
"after": 0.0,
"delta": -0.4022,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4022,
"after": 0.0,
"delta": -0.4022,
"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": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.251,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.338,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2351,
"after": 0.251,
"delta": 0.0159,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2747,
"after": 0.293,
"delta": 0.0183,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3261,
"after": 0.338,
"delta": 0.0119,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2747,
"after": 0.293,
"delta": 0.0183,
"percent_delta": 0.0666,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.2351,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2747,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3261,
"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.251,
"after": 0.2351,
"delta": -0.0159,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2747,
"delta": -0.0183,
"percent_delta": -0.0625,
"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.338,
"after": 0.3261,
"delta": -0.0119,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2747,
"delta": -0.0183,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"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.6,
"after": 4.0,
"delta": 0.4,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2351,
"delta": -0.0069,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 1.0,
"delta": 0.767,
"percent_delta": 3.2918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2747,
"delta": -0.0033,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3261,
"delta": -0.0079,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"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.233,
"after": 1.0,
"delta": 0.767,
"percent_delta": 3.2918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.600 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.233 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.566 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.571 | -0.029 |
| predicted_AVG | 0.237 | -0.005 |
| predicted_BB | 0.195 | -0.038 |
| predicted_H | 0.846 | -0.024 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.050 | 0.000 |
| predicted_OBP | 0.273 | -0.005 |
| predicted_R | 0.406 | 0.011 |
| predicted_RBI | 0.300 | 0.010 |
| predicted_SLG | 0.329 | -0.005 |
| predicted_SO | 0.545 | -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.149 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.571 | 0.000 |
| predicted_AVG | 0.235 | -0.002 |
| predicted_BB | 0.195 | -0.000 |
| predicted_H | 0.840 | -0.006 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.050 | -0.001 |
| predicted_OBP | 0.275 | 0.002 |
| predicted_R | 0.402 | -0.004 |
| predicted_RBI | 0.297 | -0.003 |
| predicted_SLG | 0.326 | -0.003 |
| predicted_SO | 0.546 | 0.001 |
AB rounded to 4 (raw=3.60), rates preserved: AVG=0.233 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
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.149 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.429 |
| predicted_AVG | 0.251 | 0.016 |
| predicted_BB | 0.000 | -0.195 |
| predicted_H | 1.000 | 0.160 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.293 | 0.018 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.297 |
| predicted_SLG | 0.338 | 0.012 |
| predicted_SO | 1.000 | 0.454 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2353 | 0.2353 | 0.2941 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 5.000 | 0.000 | 4.000 | 0.1667 | 0.1667 | 0.1944 | 0.1667 | 0.0000 | 0.0833 | 0.0000 | 0.1111 |
| season | 0.60 | 129 | - | 455.000 | 113.000 | 19.000 | 2.000 | 10.000 | 53.000 | 51.000 | 30.000 | 73.000 | 0.2484 | 0.3052 | 0.3648 | 0.2483 | 0.0220 | 0.1165 | 0.0659 | 0.1604 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5330 |
| predicted_AVG | 0.2305 |
| predicted_BB | 0.1460 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.2659 |
| predicted_R | 0.4210 |
| predicted_RBI | 0.3140 |
| predicted_SLG | 0.3217 |
| predicted_SO | 0.5180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.1510 | 0.1487 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 3.6000 | 3.5330 | 3.5710 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2305 | 0.2370 | model_form_blend |
| predicted_BB | 0.2330 | 0.1460 | 0.1953 | model_form_blend |
| predicted_H | 0.8700 | 0.8140 | 0.8457 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.0500 | 0.0510 | 0.0504 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2659 | 0.2728 | model_form_blend |
| predicted_R | 0.3950 | 0.4210 | 0.4063 | model_form_blend |
| predicted_RBI | 0.2900 | 0.3140 | 0.3004 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3217 | 0.3287 | model_form_blend |
| predicted_SO | 0.5660 | 0.5180 | 0.5452 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 486 |
| Season rows before report date | 486 |
| Report year | 2026 |
| Profile rows used | 129 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260901_TOR@CLE |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-01 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.296 |
| sl_xwoba | 0.291 |
| sl_xba | 0.244 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 22.3 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.643 | 2.000 | -0.643 | -1.000 |
| predicted_ER | 3.000 | 2.000 | 3.000 | Pitching_ER | 2.500 | 1.000 | -0.500 | 1.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.071 | 7.000 | 1.929 | 0.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.689 | 6.000 | 0.311 | 0.000 |
| predicted_SO | 9.000 | 9.000 | 9.000 | Pitching_SO | 4.571 | 5.000 | 4.429 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 8.0000 -> 9.0000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 8.0000 -> 9.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676440",
"player_name": "Tanner Bibee",
"position": "Starter",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 9.0,
"delta": 1.0,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 8.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.000 | 14.000 | 28.000 | 8.000 | 28.000 | 6.000 | 4.2000 | 1.2000 | 0.4667 | 0.9333 | 0.2667 | 0.9333 | 0.2000 |
| last_10 | 0.35 | 10 | 60.000 | 28.000 | 57.000 | 17.000 | 45.000 | 9.000 | 4.2000 | 1.2333 | 0.4667 | 0.9500 | 0.2833 | 0.7500 | 0.1500 |
| season | 0.20 | 28 | 162.100 | 70.000 | 142.000 | 46.000 | 128.000 | 26.000 | 3.8809 | 1.1581 | 0.4312 | 0.8747 | 0.2834 | 0.7885 | 0.1602 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7250 |
| predicted_ER | 2.7660 |
| predicted_ERA | 4.1880 |
| predicted_H | 5.5530 |
| predicted_HR | 1.0120 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.0830 |
| predicted_WHIP | 1.2245 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7250 | 1.4248 | model_form_blend |
| predicted_ER | 2.0000 | 2.7660 | 2.4489 | model_form_blend |
| predicted_ERA | - | 4.1880 | 4.1880 | form_only |
| predicted_H | 7.0000 | 5.5530 | 6.1521 | model_form_blend |
| predicted_HR | 0.0000 | 1.0120 | 0.5930 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 8.0000 | 5.0830 | 6.2907 | model_form_blend |
| predicted_WHIP | - | 1.2245 | 1.2245 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 7 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 9 |
| HR | 0 |
| BF | 28 |
| Pitches | 113 |
| 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 | 27 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.88 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 2 |
| Pitching_H | 7 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 93 |
| Pitching_R | 1 |
| Pitching_SO | 5 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260828_KC@CLE |
| game_type | full |
| mlbID | 676440 |
| playerID | 676440 |
| playerName | Tanner Bibee |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-08-28 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.305 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 39.9 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 78.915821883 |
| sl_avg_hyper_speed | 94.033932474 |
| 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.362 | 1.000 | 0.638 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.776 | 0.000 | -0.776 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.991 | 1.000 | 0.009 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.483 | 2.000 | -1.483 | -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": "671922",
"player_name": "Cade Smith",
"position": "Closer",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 2.000 | 3.000 | 7.000 | 1.000 | 3.6000 | 1.0000 | 0.4000 | 0.4000 | 0.6000 | 1.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 5.000 | 5.000 | 15.000 | 1.000 | 1.8621 | 1.0345 | 0.2069 | 0.5172 | 0.5172 | 1.5517 | 0.1035 |
| season | 0.20 | 58 | 61.000 | 16.000 | 45.000 | 21.000 | 86.000 | 5.000 | 2.3607 | 1.0820 | 0.2623 | 0.7377 | 0.3443 | 1.4098 | 0.0820 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4770 |
| predicted_ER | 0.3610 |
| predicted_ERA | 3.2463 |
| predicted_H | 0.6430 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3060 |
| predicted_WHIP | 1.1198 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4770 | 0.7241 | model_form_blend |
| predicted_ER | 0.0000 | 0.3610 | 0.1905 | model_form_blend |
| predicted_ERA | - | 3.2463 | 3.2463 | form_only |
| predicted_H | 0.0000 | 0.6430 | 0.3392 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0760 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3060 | 0.6890 | model_form_blend |
| predicted_WHIP | - | 1.1198 | 1.1198 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.36 |
| 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 | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260830_KC@CLE |
| game_type | full |
| mlbID | 671922 |
| playerID | 671922 |
| playerName | Cade Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-08-30 |
| sl_k_percent | 34.3 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.264 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 46.0 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 82.306589429 |
| sl_avg_hyper_speed | 94.981607214 |
| 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.510 | 1.000 | -0.510 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.490 | 1.000 | 0.510 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.602 | 0.100 | 0.398 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.275 | 0.000 | -1.275 | 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": "681870",
"player_name": "Erik Sabrowski",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.6923 | 0.0000 | 0.4615 | 0.2308 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 0.000 | 3.000 | 4.000 | 12.000 | 0.000 | 0.0000 | 0.8750 | 0.0000 | 0.3750 | 0.5000 | 1.5000 | 0.0000 |
| season | 0.20 | 49 | 39.100 | 12.000 | 23.000 | 22.000 | 65.000 | 3.000 | 2.7458 | 1.1441 | 0.3051 | 0.5847 | 0.5593 | 1.6525 | 0.0763 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3400 |
| predicted_ER | 0.2040 |
| predicted_ERA | 2.0713 |
| predicted_H | 0.5830 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1270 |
| predicted_WHIP | 1.0391 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3400 | 0.1653 | model_form_blend |
| predicted_ER | 0.0000 | 0.2040 | 0.0992 | model_form_blend |
| predicted_ERA | - | 2.0713 | 2.0713 | form_only |
| predicted_H | 1.0000 | 0.5830 | 0.7972 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0287 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1270 | 0.5481 | model_form_blend |
| predicted_WHIP | - | 1.0391 | 1.0391 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 51 |
| Season rows before report date | 51 |
| 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.97 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 6 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 2 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260829_KC@CLE |
| game_type | full |
| mlbID | 681870 |
| playerID | 681870 |
| playerName | Erik Sabrowski |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-08-29 |
| sl_k_percent | 38.5 |
| sl_bb_percent | 15.4 |
| sl_woba | 0.278 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 45.5 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 33.0 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 79.012289737 |
| sl_avg_hyper_speed | 93.707431842 |
| 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.345 | 0.000 | -0.345 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.764 | 0.000 | -0.764 | 0.000 |
| predicted_IP | 1.000 | 1.200 | 1.000 | Pitching_InningsPitched | 0.716 | 1.000 | 0.484 | 0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.836 | 1.000 | -0.836 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683769",
"player_name": "Hunter Gaddis",
"position": "Setup Man",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 2.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.4286 | 0.2143 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 4.000 | 4.000 | 11.000 | 0.000 | 0.9310 | 0.8276 | 0.1035 | 0.4138 | 0.4138 | 1.1379 | 0.0000 |
| season | 0.20 | 54 | 47.100 | 15.000 | 40.000 | 17.000 | 46.000 | 5.000 | 2.8521 | 1.2042 | 0.3169 | 0.8451 | 0.3592 | 0.9718 | 0.1056 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3330 |
| predicted_ER | 0.2370 |
| predicted_ERA | 2.1303 |
| predicted_H | 0.6670 |
| predicted_HR | 0.0640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9650 |
| predicted_WHIP | 1.0002 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3330 | 0.1680 | model_form_blend |
| predicted_ER | 0.0000 | 0.2370 | 0.1196 | model_form_blend |
| predicted_ERA | - | 2.1303 | 2.1303 | form_only |
| predicted_H | 0.0000 | 0.6670 | 0.3365 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0323 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9650 | 0.4868 | model_form_blend |
| predicted_WHIP | - | 1.0002 | 1.0002 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 54 |
| 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 | 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.04 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260901_TOR@CLE |
| game_type | full |
| mlbID | 683769 |
| playerID | 683769 |
| playerName | Hunter Gaddis |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-09-01 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.29 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 30.7 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 51.4 |
| sl_avg_best_speed | 77.344588824 |
| sl_avg_hyper_speed | 92.333125259 |
| 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.358 | 0.000 | -0.358 | 0.000 |
| predicted_ER | 1.000 | 2.000 | 1.000 | Pitching_ER | 0.302 | 3.000 | 1.698 | -1.000 |
| predicted_H | 2.000 | 3.000 | 2.000 | Pitching_H | 0.642 | 4.000 | 2.358 | -1.000 |
| predicted_IP | 0.000 | 1.100 | 0.000 | Pitching_InningsPitched | 0.838 | 0.100 | 0.262 | 1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.943 | 0.000 | -0.943 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670059",
"player_name": "Colin Holderman",
"position": "Middle Reliever (High Leverage)",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 3.000 | 6.000 | 2.000 | 4.000 | 0.000 | 6.7500 | 2.0000 | 0.7500 | 1.5000 | 0.5000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 12.000 | 4.000 | 9.000 | 0.000 | 4.3548 | 1.5484 | 0.4839 | 1.1613 | 0.3871 | 0.8710 | 0.0000 |
| season | 0.20 | 51 | 52.100 | 12.000 | 30.000 | 18.000 | 50.000 | 1.000 | 2.0637 | 0.9172 | 0.2293 | 0.5733 | 0.3439 | 0.9554 | 0.0191 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2810 |
| predicted_ER | 0.3660 |
| predicted_ERA | 4.8145 |
| predicted_H | 0.7680 |
| predicted_HR | 0.0340 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6450 |
| predicted_WHIP | 1.5346 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2810 | 0.1444 | model_form_blend |
| predicted_ER | 1.0000 | 0.3660 | 0.6742 | model_form_blend |
| predicted_ERA | - | 4.8145 | 4.8145 | form_only |
| predicted_H | 2.0000 | 0.7680 | 1.3669 | model_form_blend |
| predicted_HR | 0.0000 | 0.0340 | 0.0175 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6450 | 0.3314 | model_form_blend |
| predicted_WHIP | - | 1.5346 | 1.5346 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| 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 | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260829_KC@CLE |
| game_type | full |
| mlbID | 670059 |
| playerID | 670059 |
| playerName | Colin Holderman |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-08-29 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.251 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 24.5 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 44.6 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 74.989121739 |
| sl_avg_hyper_speed | 94.627613212 |